def request_handler(request: Request, response: Response): return response.status(200).json({ "body": request.body, "id": request.id, "method": request.method, "query": request.query, "path": request.path })
def handle_errors(request: Request, response: Response, next_layer: NextFunction): try: return next_layer() except Exception as exception: log_format: str = "%s Error Response (%s): %s %s --> status: %d | body: %s" req_id = request.id method = request.method path = request.path keys = dir(exception) body = dict() for key in keys: value = getattr(exception, key) if not key.startswith('__') and not callable(value): body[key] = value body['traceback'] = traceback.format_exc() body['message'] = getattr(exception, 'message', repr(exception)) status_code = getattr(exception, 'status_code', 500) now = datetime.now().isoformat() logger.error(log_format, now, req_id, method, path, status_code, str(body)) response.status(status_code) response.json(body) return
def __call__(self: 'Application', environ, start_response): self.current_layer: int = 0 request = Request(environ) response = Response(start_response, request) def next_layer(): if self.current_layer >= len(self.middlewares): return self.request_handler(request, response) layer = self.middlewares[self.current_layer] self.current_layer += 1 return layer(request, response, next_layer) next_layer() yield response.body return response.body
def request_handler(request: Request, response: Response): return response.status(201).json({"hello": True})
def goobye_world(request: Request, response: Response): print("hello world") return response.json({"hola": "mundo"})
def handler(request: Request, response: Response): self.assertTrue(isinstance(request.body, dict)) return response.json({})
def handler(request: Request, response: Response): self.assertEqual(len(request.body.keys()), 0) self.assertEqual(request.raw_body, json.dumps(self.body).encode('utf-8')) return response.json({})
def request_handler(request: Request, response: Response): request.body['handler'] = True self.assertTrue(request.body['second']) return response.status(201).json(request.body)
def request_handler(request: Request, response: Response): return response.status(201).json(request.body)
def handler(request: Request, response: Response): body = dict() for (key, value) in request.headers.items(): body[key] = value return response.json(body)
def handler(request: Request, response: Response): self.assertTrue(isinstance(request.body, dict)) self.assertEqual(request.body['fields']['field'], 'True') self.assertEqual(request.body['files']['file'].filename, self.file.name) return response.json({})