fune/third_party/python/aiohttp/examples/web_rewrite_headers_middleware.py
Connor Sheehan fcfe38a1ef Bug 1854496: update vendored aiohttp/requests and add new dependencies r=firefox-build-system-reviewers,mach-reviewers,ahochheiden
Update `aiohttp` to version 3.8.5 and `requests` to version 2.31.0,
and vendor their respective dependencies. Add all the new dependencies
to the various required site virtualenv requirements files.

Differential Revision: https://phabricator.services.mozilla.com/D188904
2023-09-25 14:22:11 +00:00

29 lines
687 B
Python
Executable file

#!/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())