UNKNOWN
Project description
aiohttp_route_decorator
The library provides @route decorator for aiohttp.web, resembling the contract of Flask @app.route.
The imaginary aiohttp @app.route decorator is discouraged for multiple reasons; this one tries to solve part of those problems (the app doesn’t need to be global at the very least).
Installation
pip install aiohttp_session_decorator
Usage
Create a route object in each of your handler modules, and decorate the handlers:
from aiohttp_route_decorator import RouteCollector
route = RouteCollector()
@route('/')
async def index(request):
return web.Response(body=b'OK')
@route('/login/', methods=['GET', 'POST'], name='login')
async def login(request):
if request.method == 'POST':
return web.Response(body=b'OK')
return web.Response(body=b'Login')
When you init the application, push the collected routes into app.router:
from aiohttp import web
from myapp import handlers
def run():
app = web.Application()
handlers.route.add_to_router(app.router)
web.run_app(app)
Parameters reference
route(path, *, method='GET', methods=None, name=None, **kwargs)
path (str) — route path. Should be started with slash ('/').
method (str) — HTTP method for route. Should be one of 'GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS' or '*' for any method.
methods (List[str]) — optional shortcut for creating several routes with different HTTP methods at once. If used, should be a list of acceptable values for method argument.
name (str) — optional route name.
kwargs — other parameters to be passed to aiohttp.web.Resource.add_route().
Non-decorator use
If you prefer to keep your routes together, you can construct the list manually after your handers:
from aiohttp_route_decorator import RouteCollector, Route
route = RouteCollector()
async def index(request):
return web.Response(body=b'OK')
async def login(request):
if request.method == 'POST':
return web.Response(body=b'OK')
return web.Response(body=b'Login')
routes = RouteCollector([
Route('/', index),
Route('/login/', login, methods=['GET', 'POST'], name='login'),
])
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for aiohttp_route_decorator-0.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7668bdca380c1aa430bf355368167ced464e25f90b2451c1b68cb2cdcb5c9c0 |
|
MD5 | 3624de54d3dfed07703f19eaa891ef04 |
|
BLAKE2b-256 | 838f40b43f4b33627868536d386a57042dcf4c4cea4dfa545d98a15725bf3a91 |