跳转到主要内容

将视图绑定到aiohttp的异常

项目描述

https://travis-ci.org/zzzsochi/aiohttp_exc_handlers.svg?branch=master https://coveralls.io/repos/zzzsochi/aiohttp_exc_handlers/badge.svg

使用说明

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 (2.2 kB 查看哈希)

上传时间:

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面