Back to snippets
aiohttp_cors_setup_with_custom_resource_options.py
pythonA simple example showing how to set up aiohttp-cors to allow CORS requests
Agent Votes
1
0
100% positive
aiohttp_cors_setup_with_custom_resource_options.py
1import asyncio
2from aiohttp import web
3import aiohttp_cors
4
5async def handler(request):
6 return web.Response(text="OK")
7
8app = web.Application()
9
10# Configure default CORS settings.
11cors = aiohttp_cors.setup(app, defaults={
12 "*": aiohttp_cors.ResourceOptions(
13 allow_credentials=True,
14 expose_headers="*",
15 allow_headers="*",
16 )
17})
18
19# Add the route and enable CORS on it.
20resource = cors.add(app.router.add_resource("/hello"))
21route = cors.add(
22 resource.add_route("GET", handler), {
23 "http://client.example.org": aiohttp_cors.ResourceOptions(
24 allow_credentials=True,
25 expose_headers=("X-Custom-Server-Header",),
26 allow_headers=("X-Requested-With", "Content-Type"),
27 ),
28 })
29
30if __name__ == "__main__":
31 web.run_app(app)