将视图绑定到aiohttp的异常
项目描述
使用说明
import asyncio
from aiohttp import web
from aiohttp_exc_handlers import (
exc_handlers_middleware,
bind_exc_handler,
)
class CustomException(Exception):
pass
async def custom_exception_handler(request, exc):
return web.Response(text="Hello, {!s}!".format(exc))
async def hello(request):
raise CustomException('world')
# add middleware
app = web.Application(middlewares=[exc_handlers_middleware])
# bind handler to exception
bind_exc_handler(app, CustomException, custom_exception_handler)
app.router.add_route('GET', '/', hello)
loop = asyncio.get_event_loop()
handler = app.make_handler()
f = loop.create_server(handler, '0.0.0.0', 8080)
srv = loop.run_until_complete(f)
try:
loop.run_forever()
except KeyboardInterrupt:
pass
finally:
loop.run_until_complete(handler.finish_connections(1.0))
srv.close()
loop.run_until_complete(srv.wait_closed())
loop.run_until_complete(app.finish())
loop.close()
测试
$ pip install pytest
$ py.test tests.py
项目详情
关闭
aiohttp_exc_handlers-0.2.tar.bz2的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2c579cd42dc20973f3a6ba1238b3fdb81295a32fe784b7e98d9f04fcc23b0893 |
|
MD5 | 8cd7b35bda18ca6ca39916ffe22661b0 |
|
BLAKE2b-256 | 6c2b1b0faf67db8da4553f2e285964b99abfde42c8be2bc9ea6b930feeeb8fc1 |