Ejemplo n.º 1
0
    def wrapped(*args, **kwargs):
        # put all parameters into kwargs
        kwargs = kwargs if kwargs else {'testkey': 'testvalue'}
        if request.args:  # get param
            kwargs.update(request.args.to_dict())
        if request.form:  # post param
            kwargs.update(request.form.to_dict())
        # todo: request.files & request.data
        if request.headers.get('Authorization'):
            encrypted_token = request.headers.get('Authorization')
            is_valid, user_id = logic_user.is_token_valid(encrypted_token)
            if not is_valid:
                raise errors.AuthTokenInvalid()
            user = logic_user.get_user_by_id(user_id)
            if not user:
                # token is valid, but maybe user is deleted
                raise errors.UserNotFound()
        try:
            result = func(**kwargs)
            response = {
                'rc': 0,
                'data': result
            }

        except Exception as e:
            rc = getattr(e, 'rc', errors.UnknownError.rc)
            err_msg = getattr(e, 'msg', errors.UnknownError.msg)
            response = {
                'rc': rc,
                'msg': err_msg,
            }

        return jsonify(response)
Ejemplo n.º 2
0
def test_token():
    base_test.reinit_table()
    email = "*****@*****.**"
    password = "******"
    user = logic_user.signup(email, password)
    assert user is not None
    login_result, login_user = logic_user.login(email, password)
    assert login_result
    assert login_user is not None
    auth_token = login_user["encrypted_token"]
    is_valid, user_id_from_token = logic_user.is_token_valid(auth_token)
    assert is_valid
    assert user_id_from_token == login_user["id"]
Ejemplo n.º 3
0
def test_token():
    base_test.reinit_table()
    email = '*****@*****.**'
    password = '******'
    user = logic_user.signup(email, password)
    assert user is not None
    login_result, login_user = logic_user.login(email, password)
    assert login_result
    assert login_user is not None
    auth_token = login_user['encrypted_token']
    is_valid, user_id_from_token = logic_user.is_token_valid(auth_token)
    assert is_valid
    assert user_id_from_token == login_user['id']
Ejemplo n.º 4
0
    def wrapped(*args, **kwargs):
        # put all parameters into kwargs
        kwargs = kwargs if kwargs else {'testkey': 'testvalue'}
        if request.args:  # get param
            kwargs.update(request.args.to_dict())
        if request.form:  # post param
            kwargs.update(request.form.to_dict())
        #todo: request.files & request.data
        if request.headers.get('Authorization'):
            encrypted_token = request.headers.get('Authorization')
            isValid, user_id = logic_user.is_token_valid(encrypted_token)
            if not isValid:
                raise errors.AuthTokenInvalid()
            user = logic_user.get_user_by_id(user_id)
            if not user:
                # token is valid, but maybe user is deleted
                raise errors.UserNotFound()

        return func(**kwargs)
Ejemplo n.º 5
0
    def wrapped(*args, **kwargs):
        # put all parameters into kwargs
        kwargs = kwargs if kwargs else {'testkey': 'testvalue'}
        if request.args:  # get param
            kwargs.update(request.args.to_dict())
        if request.form:  # post param
            kwargs.update(request.form.to_dict())
        if request.data: # request body
            kwargs.update(json.loads(request.data))
        # todo: request.files
        if request.headers.get('Authorization'):
            encrypted_token = request.headers.get('Authorization')
            is_valid, user_id = logic_user.is_token_valid(encrypted_token)
            if not is_valid:
                # AuthTokenInvalid
                abort(401)
            user = logic_user.get_user_by_id(user_id)
            if not user:
                # token is valid, but maybe user is deleted.UserNotFound
                abort(401)
            kwargs["user_id"] = user_id

        try:
            log_mobile_request(func.__name__, args, kwargs)
            result = func(*args, **kwargs)
            response = {
                'rc': 0,
                'data': result
            }

        except Exception as e:
            logger.exception(e.message) # logger will send email with this exception
            rc = getattr(e, 'rc', errors.UnknownError.rc)
            err_msg = getattr(e, 'msg', errors.UnknownError.msg)
            response = {
                'rc': rc,
                'msg': err_msg,
            }

        log_mobile_response(response)
        return jsonify(response)
Ejemplo n.º 6
0
    def wrapped(*args, **kwargs):
        # put all parameters into kwargs
        kwargs = kwargs if kwargs else {'testkey': 'testvalue'}
        if request.args:  # get param
            kwargs.update(request.args.to_dict())
        if request.form:  # post param
            kwargs.update(request.form.to_dict())
        if request.data:  # request body
            kwargs.update(json.loads(request.data))
        # todo: request.files
        if request.headers.get('Authorization'):
            encrypted_token = request.headers.get('Authorization')
            is_valid, user_id = logic_user.is_token_valid(encrypted_token)
            if not is_valid:
                # AuthTokenInvalid
                abort(401)
            user = logic_user.get_user_by_id(user_id)
            if not user:
                # token is valid, but maybe user is deleted.UserNotFound
                abort(401)
            kwargs["user_id"] = user_id

        try:
            log_mobile_request(func.__name__, args, kwargs)
            result = func(*args, **kwargs)
            response = {'rc': 0, 'data': result}

        except Exception as e:
            logger.exception(
                e.message)  # logger will send email with this exception
            rc = getattr(e, 'rc', errors.UnknownError.rc)
            err_msg = getattr(e, 'msg', errors.UnknownError.msg)
            response = {
                'rc': rc,
                'msg': err_msg,
            }

        log_mobile_response(response)
        return jsonify(response)