Пример #1
0
async def post_handler(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        Validate.validate_schema(ctx, admin_validator)
        await Admin.create(ctx, DB.get(request, table))
        return web.json_response({
            'message': 'Admin created',
        })
    except Exception as err:
        return Error.handle(err)
Пример #2
0
async def post_handler(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        Validate.validate_schema(ctx, endpoint_cache_validator)
        await EndpointCacher.create(ctx, DB.get_redis(request), DB.get(request, controller.table))
        return web.json_response({
            'message': 'Endpoint cache created',
            'status_code': 200
        })
    except Exception as err:
        return Error.handle(err)
Пример #3
0
async def post_handler(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        Validate.validate_schema(ctx, service_validator)
        await Service.create(service_validator.normalized(ctx),
                             DB.get(request, table))
        return web.json_response({
            'message': 'service created',
        })
    except Exception as err:
        return Error.handle(err)
Пример #4
0
async def create_rule(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        Validate.validate_schema(ctx, rate_limit_rule_validator)
        await RateLimiter.create_rule(ctx, DB.get_redis(request))
        return web.json_response({
            'message': 'Created rate limiter rule',
            'status_code': 200
        })
    except Exception as err:
        return Error.handle(err)
Пример #5
0
async def post_handler(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        Validate.validate_schema(ctx, circuit_breaker_validator)
        await CircuitBreaker.create(circuit_breaker_validator.normalized(ctx), DB.get(request, table), DB.get(request, controller.table))
        return web.json_response({
            'message': 'Circuit breaker created',
            'status_code': 200
        })
    except Exception as err:
        return Error.handle(err)
Пример #6
0
async def post_handler(request: web.Request):
    try:
        body = json.loads(await request.text())
        Validate.validate_schema(body, insights_validator)
        await Insights.create(body, DB.get(request, table),
                              DB.get(request, controller.table))
        return web.json_response({
            'message': 'Insight created',
            'status_code': 200
        })
    except Exception as err:
        return Error.handle(err)
Пример #7
0
async def patch_handler(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        service_id = request.rel_url.query.get('id')
        Validate.validate_object_id(service_id)
        Validate.validate_schema(ctx, service_validator)
        await Service.update(service_id, ctx, DB.get(request, table))
        return web.json_response({
            'message': 'service updated',
        })
    except Exception as err:
        return Error.handle(err)
Пример #8
0
 def test_scheme(self, *args):
     mock_schema_errors = {}
     try:
         mock_ctx = {}
         mock_schema = MagicMock()
         mock_schema.errors = mock_schema_errors
         Validate.validate_schema(mock_ctx, mock_schema)
         mock_schema.validate.assert_called_with(mock_ctx)
     except Exception as err:
         expect(err.args[0]).to(
             have_keys('message', 'status_code', 'errors'))
         expect(err.args[0]['errors']).to(equal(mock_schema_errors))
Пример #9
0
async def patch_handler(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        admin_id = request.rel_url.query['id']
        Validate.validate_schema(ctx, admin_validator)
        Validate.validate_object_id(admin_id)
        await Admin.update(admin_id, ctx, DB.get(request, table))
        return web.json_response({
            'message': 'Admin updated',
        })
    except Exception as err:
        return Error.handle(err)
Пример #10
0
async def patch_handler(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        circuit_breaker_id = request.rel_url.query['id']
        Validate.validate_schema(ctx, circuit_breaker_validator)
        Validate.validate_object_id(circuit_breaker_id)
        await CircuitBreaker.update(circuit_breaker_id, pydash.omit(ctx, 'id'), DB.get(request, table))
        return web.json_response({
            'message': 'Circuit breaker updated',
        })
    except Exception as err:
        return Error.handle(err)
Пример #11
0
async def update_handler(request: web.Request):
    try:
        id = request.rel_url.query['id']
        body = json.loads(await request.text())
        Validate.validate_object_id(id)
        Validate.validate_schema(body, request_validator)
        await RequestValidator.update(id, body, DB.get(request, table))
        return web.json_response({
            'message': 'request validator updated',
            'status_code': 200
        })
    except Exception as err:
        return Error.handle(err)
Пример #12
0
async def create_handler(request: web.Request):
    try:
        body = json.loads(await request.text())
        Validate.validate_schema(body, request_validator)
        await RequestValidator.create(request_validator.normalized(body),
                                      DB.get(request, table),
                                      DB.get(request, controller.table))
        return web.json_response({
            'message': 'Request validator created',
            'status_code': 200
        })
    except Exception as err:
        return Error.handle(err)
Пример #13
0
async def patch_handler(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        _id = request.rel_url.query.get('id')
        Validate.validate_schema(ctx, endpoint_cache_validator)
        Validate.validate_object_id(_id)
        await EndpointCacher.update(_id, pydash.omit(ctx, 'service_id', 'response_codes'), DB.get_redis(request))
        return web.json_response({
            'message': 'Endpoint cache updated',
            'status_code': 200
        })
    except Exception as err:
        return Error.handle(err)
Пример #14
0
async def patch_handler(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        service_id = request.rel_url.query['id']
        Validate.validate_object_id(service_id)
        Validate.validate_schema(ctx, insights_validator)
        await Insights.update(service_id, pydash.omit(ctx, 'id'),
                              DB.get(request, table))
        return web.json_response({
            'message': 'insight updated',
        })
    except Exception as err:
        return Error.handle(err)
Пример #15
0
async def update_rule(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        _id = request.rel_url.query.get('id')
        Validate.validate_schema(ctx, rate_limit_rule_validator)
        Validate.validate_object_id(_id)
        await RateLimiter.update_rule(_id, ctx, DB.get_redis(request))
        return web.json_response({
            'message': 'rate limiter rule updated',
            'status_code': 200
        })
    except Exception as err:
        return Error.handle(err)
Пример #16
0
async def patch_handler_response_codes(request: web.Request):
    try:
        ctx = json.loads(await request.text())
        _id = request.rel_url.query.get('id')
        action = request.rel_url.query.get('action')
        Validate.validate_object_id(_id)
        Validate.validate_schema(ctx, endpoint_cache_validator)
        if action == 'add':
            await EndpointCacher.add_status_codes(ctx['response_codes'], _id, DB.get_redis(request))
        elif action == 'remove':
            await EndpointCacher.remove_status_codes(ctx['response_codes'], _id, DB.get_redis(request))
        else:
            return web.json_response({
                'message': 'Invalid action provided',
                'status_code': 400,
            }, status=400)
        return web.json_response({
            'message': 'Endpoint cache response codes updated',
            'status_code': 200,
        })
    except Exception as err:
        return Error.handle(err)