diff options
Diffstat (limited to '')
-rwxr-xr-x | third_party/python/aiohttp/examples/web_rewrite_headers_middleware.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/third_party/python/aiohttp/examples/web_rewrite_headers_middleware.py b/third_party/python/aiohttp/examples/web_rewrite_headers_middleware.py new file mode 100755 index 0000000000..15e985e14d --- /dev/null +++ b/third_party/python/aiohttp/examples/web_rewrite_headers_middleware.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +"""Example for rewriting response headers by middleware.""" + +from aiohttp import web +from aiohttp.typedefs import Handler + + +async def handler(request): + return web.Response(text="Everything is fine") + + +@web.middleware +async def middleware(request: web.Request, handler: Handler) -> web.StreamResponse: + try: + response = await handler(request) + except web.HTTPException as exc: + raise exc + if not response.prepared: + response.headers["SERVER"] = "Secured Server Software" + return response + + +def init(): + app = web.Application(middlewares=[middleware]) + app.router.add_get("/", handler) + return app + + +web.run_app(init()) |