Ejemplo n.º 1
0
 def get(self, _id):
     schema = InternalUserSchema()
     try:
         user = User.objects.get(id=_id)
         return format_response(schema.dump(user), "get user detail success", 200)
     except (mg.DoesNotExist, mg.MultipleObjectsReturned):
         return format_response('', 'user is not exist', 404)
Ejemplo n.º 2
0
 def delete(self, _id):
     try:
         User.objects.get(id=_id).delete()
         # return {"msg": "user deleted"}
         return format_response('', 'user deleted', 200)
     except (mg.DoesNotExist, mg.MultipleObjectsReturned):
         # abort(404, {'msg': '用户不存在'})
         return format_response('', 'user is not exist', 404)
Ejemplo n.º 3
0
 def get(self):
     try:
         schema = UserSchema(many=True)
         query = User.objects.all()
         objs, page = Pagination(query).paginate(schema)
         return format_response(objs, 'get user list success', 200, page=page)
     except Exception as e:
         return format_response(e.args, 'get user list failure', 500)
Ejemplo n.º 4
0
 def put(self, _id):
     schema = UserSchema(partial=True)
     try:
         user = User.objects.get(id=_id)
         user_data = schema.load(request.json)
         user.update(**user_data)
         user.reload()
         return format_response(schema.dump(user), 'user updated', 200)
     except (mg.DoesNotExist, mg.MultipleObjectsReturned):
         # abort(404, {'msg': '用户不存在'})
         return format_response('', 'user is not exist', 404)
Ejemplo n.º 5
0
 def post(self):
     try:
         schema = UserSchema()
         data = schema.load(request.json)
         user = User.objects.create(**data)
         # return {"msg": "user created", "user": schema.dump(user)}, 201
         return format_response(schema.dump(user), 'user created', 201)
     except mongoengine.errors.NotUniqueError:
         import traceback
         traceback.print_exc()
         logger.api_logger.error(traceback.format_exc())
         # abort(403, {'msg': '手机号码已存在'})
         return format_response('', 'user exists', 400)
     except Exception as e:
         # abort(500, {"msg": e.args})
         import traceback
         traceback.print_exc()
         logger.api_logger.error(traceback.format_exc())
         return format_response('', 'server error', 500)
Ejemplo n.º 6
0
def handle_405(e):
    """捕获abort(405)错误"""
    traceback.print_exc()
    logger.api_logger.error(traceback.format_exc())
    # rsp = {
    #     'msg': 'Method not allowed',
    #     'err': 60
    # }
    # return jsonify(**rsp), 405
    return format_response(str(e), 'Method not allowed', 405)
Ejemplo n.º 7
0
def handle_404(e):
    """捕获abort(404)错误"""
    traceback.print_exc()
    logger.api_logger.error(traceback.format_exc())
    # rsp = {
    #     'msg': 'Not Found',
    #     'err': 50
    # }
    # if isinstance(e.description, dict):
    #     rsp.update(e.description)
    # return jsonify(**rsp), 404
    return jsonify(format_response(str(e), 'Not Found', 404)), 404
Ejemplo n.º 8
0
def handle_403(e):
    """捕获abort(403)错误"""
    traceback.print_exc()
    logger.api_logger.error(traceback.format_exc())
    # rsp = {
    #     'err': 400,
    #     'msg': 'Forbidden'
    # }
    # if isinstance(e.description, int):
    #     rsp['err'] = e.description
    # if isinstance(e.description, dict):
    #     rsp.update(e.description)
    # return jsonify(**rsp), 403
    return format_response(str(e), 'Forbidden', 403), 403
Ejemplo n.º 9
0
def handle_401(e):
    """捕获abort(401)错误"""
    traceback.print_exc()
    logger.api_logger.error(traceback.format_exc())
    # rsp = {
    #     'msg': 'Unauthorized',
    #     'err': 20
    # }
    # if isinstance(e.description, int):
    #     rsp['err'] = e.description
    # elif isinstance(e.description, dict):
    #     rsp.update(e.description)
    # return jsonify(**rsp), 401
    return format_response(str(e), 'Unauthorized', 401), 401
Ejemplo n.º 10
0
def handle_400(e):
    """捕获abort(400)错误"""
    traceback.print_exc()
    logger.api_logger.error(traceback.format_exc())
    # rsp = {
    #     'msg': 'Bad Request',
    #     'err': 10
    # }
    # if isinstance(e.description, int):
    #     rsp['err'] = e.description
    # if isinstance(e.description, dict):
    #     rsp.update(e.description)
    # # return jsonify(**rsp), 400
    return jsonify(format_response(str(e), 'bad request', 400)), 400
Ejemplo n.º 11
0
def handle_429(e):
    """捕获abort(429)频率限制错误"""
    traceback.print_exc()
    logger.api_logger.error(traceback.format_exc())
    # rsp = {
    #     'msg': 'Too Many Requests',
    #     'err': 30
    # }
    # err_info = {
    #     'msg': 'Too many requests',
    #     'ip': request.remote_addr,
    #     'url': request.url,
    #     'method': request.method,
    # }
    # logger.api_logger.error(err_info)
    # return jsonify(**rsp), 429
    return format_response(str(e), 'Too many requests', 429)
Ejemplo n.º 12
0
def my_expired_token_loader(e, s):
    return jsonify(format_response('', "Token has expired", 401)), 401
Ejemplo n.º 13
0
def my_invalid_token_loader(e):
    return jsonify(
        format_response(
            '', "Bad Authorization header. Expected value 'Bearer <JWT>'",
            422)), 422
Ejemplo n.º 14
0
def my_unauthorized_loader(e):
    return jsonify(format_response('', 'Missing Authorization Header',
                                   401)), 401
Ejemplo n.º 15
0
def handle_exception(e):
    """Called when exception occurred"""
    traceback.print_exc()
    logger.api_logger.error(traceback.format_exc())
    # return jsonify(str(e)), 500
    return format_response(str(e), 'server error', 500)