Wraps aiohttp or gunicorn server for aiohttp application.
Project description
Install
pip install aiohttp-runner
Example usage
import asyncio
import aiohttp.web
from async_generator import asynccontextmanager
from aiohttp_runner import (
simple_http_runner, gunicorn_http_runner,
HttpRequest, HttpResponse,
create_http_app, wait_for_interrupt,
)
@asynccontextmanager
async def app_factory():
yield create_http_app(routes=[
('GET', '/', http_handler),
])
async def http_handler(_req: HttpRequest) -> HttpResponse:
return aiohttp.web.Response(status=204)
async def main() -> None:
bind = '127.0.0.1:8080'
runner = gunicorn_http_runner(app_factory, bind, workers=2)
# OR
runner = simple_http_runner(app_factory, bind)
async with runner:
await wait_for_interrupt()
if __name__ == '__main__':
asyncio.get_event_loop().run_until_complete(main())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiohttp-runner-0.5.0.tar.gz
(5.9 kB
view hashes)
Built Distribution
Close
Hashes for aiohttp_runner-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6be1a0dc6f08a11386b4694661d0471834b2946d7152e2521f189c940a89fe52 |
|
MD5 | 7d82603af8294b35345ab377d4ec24f0 |
|
BLAKE2b-256 | 1f5e21733476a01129ebb62c7aad4206f6d67339b67a5017d4069700d02c1719 |