async def app(scope, receive, send): request = Request(scope, receive) body = b"" async for chunk in request.stream(): body += chunk response = JSONResponse({"body": body.decode()}) await response(scope, receive, send)
async def docs(request: Request) -> Response: openapi = self.create_docs(request) media_type = request.query_params.get("type", self.media_type) if media_type == "json": return JSONResponse(openapi) return YAMLResponse(openapi)
async def app(scope, receive, send): request = Request(scope, receive) response = JSONResponse({ "host": request.client.host, "port": request.client.port }) await response(scope, receive, send)
async def app(scope, receive, send): request = Request(scope) try: data = await request.json() except RuntimeError: data = "Receive channel not available" response = JSONResponse({"json": data}) await response(scope, receive, send)
async def app(scope, receive, send): # the server is push-enabled scope["extensions"]["http.response.push"] = {} request = Request(scope, receive, send) await request.send_push_promise("/style.css") response = JSONResponse({"json": "OK"}) await response(scope, receive, send)
async def app(scope, receive, send): nonlocal disconnected_after_response request = Request(scope, receive) await request.body() disconnected = await request.is_disconnected() response = JSONResponse({"disconnected": disconnected}) await response(scope, receive, send) disconnected_after_response = await request.is_disconnected()
async def app(scope, receive, send): request = Request(scope, receive) chunks = b"" async for chunk in request.stream(): chunks += chunk try: body = await request.body() except RuntimeError: body = b"<stream consumed>" response = JSONResponse({"body": body.decode(), "stream": chunks.decode()}) await response(scope, receive, send)
async def app(scope, receive, send): # the server is push-enabled scope["extensions"]["http.response.push"] = {} data = "OK" request = Request(scope) try: await request.send_push_promise("/style.css") except RuntimeError: data = "Send channel not available" response = JSONResponse({"json": data}) await response(scope, receive, send)
async def app(scope, receive, send): request = Request(scope) await request.send_push_promise("/style.css") response = JSONResponse({"json": "OK"}) await response(scope, receive, send)
async def app(scope, receive, send): request = Request(scope, receive) headers = dict(request.headers) response = JSONResponse({"headers": headers}) await response(scope, receive, send)
async def app(scope, receive, send): request = Request(scope, receive) response = JSONResponse({"cookies": request.cookies}) await response(scope, receive, send)
async def app(scope, receive, send): request = Request(scope, receive) assert request.content_type.options == {"charset": "utf-8"} response = JSONResponse({"content-type": str(request.content_type)}) await response(scope, receive, send)
async def app(scope, receive, send): request = Request(scope, receive) data = await request.json() response = JSONResponse({"json": data}) await response(scope, receive, send)
async def app(scope, receive, send): request = Request(scope, receive) form = await request.form() response = JSONResponse({"form": dict(form)}) await response(scope, receive, send)
async def app(scope, receive, send): request = Request(scope, receive) data = {"method": request.method, "url": str(request.url)} response = JSONResponse(data) await response(scope, receive, send)
async def app(scope, receive, send): request = Request(scope, receive) request.state.example = 123 response = JSONResponse({"state.example": request.state.example}) await response(scope, receive, send)
async def app(scope, receive, send): request = Request(scope, receive) body = await request.body() response = JSONResponse({"body": body.decode()}) await response(scope, receive, send)
async def app(scope, receive, send): request = Request(scope, receive) params = dict(request.query_params) response = JSONResponse({"params": params}) await response(scope, receive, send)
async def docs(request: Request) -> Response: openapi = self.create_docs(request) return JSONResponse(openapi)
def token_exp(request: Request, exc: ExpiredSignatureError) -> Response: resp = {"msg": "token过期", "code": 456} return JSONResponse(resp, status_code=456)