def route_requests(self, req, body): owner_id = req.getHeader('x-owner-id') req_limit = self.config.request_limit if (yield self.req_limit_reached(owner_id)): self.log( "Request limit reached for %s at a request count of %d" % (owner_id, req_limit)) returnValue(response(req, { 'errors': [{ 'type': 'too_many_requests', 'message': ( "Only %d unfinished requests are allowed per owner" % (req_limit)) }] }, code=429)) else: data = { 'owner_id': req.getHeader('x-owner-id'), 'timestamp': time.time(), 'request': body['request'], 'intervals': body['intervals'] } self.log("Adding request to pending set", data) yield add_pending(self.redis, self.prefix, data) yield inc_req_count(self.redis, self.prefix, owner_id) returnValue(response(req, {}))
def wrapper(api, req, *a, **kw): errors = [] for v in validators: errors.extend(v(req, *a, **kw) or []) if not errors: return fn(api, req, *a, **kw) else: return response(req, {'errors': errors}, code=http.BAD_REQUEST)
def route_health(self, req): return response(req, {})
def route(req): return response(req, {}, http.BAD_REQUEST)
def route(req): return response(req, {})
def route(req): return response(req, {'foo': 23})