Beispiel #1
0
def main():
    loop = asyncio.get_event_loop()

    app = Application(
        router=TraversalRouter())  # create main application instance
    app.router.set_root_factory(Root)  # set root factory
    app.router.bind_view(Root, HelloView)  # add view for '/'
    app.router.bind_view(Root, HelloJSON, 'json')  # add view for '/json'

    # listening socket
    handler = app.make_handler()
    f = loop.create_server(handler, 'localhost', 8080)
    srv = loop.run_until_complete(f)

    try:
        loop.run_forever()  # run event loop
    except KeyboardInterrupt:
        pass
    finally:
        # stopping
        loop.run_until_complete(handler.finish_connections(timeout=5.0))
        srv.close()
        loop.run_until_complete(srv.wait_closed())
        loop.run_until_complete(app.finish())
        loop.close()