Skip to content

Instantly share code, notes, and snippets.

@imbolc
Created December 31, 2015 05:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save imbolc/aa0f2cfc89f0a7994e5d to your computer and use it in GitHub Desktop.
Save imbolc/aa0f2cfc89f0a7994e5d to your computer and use it in GitHub Desktop.
import asyncio
from aiohttp import web
from aiohttp_session import get_session, session_middleware, SimpleCookieStorage
async def show(request):
session = await get_session(request)
message = session.pop('message', None)
return web.Response(text='message: {}'.format(message))
async def set_raise(request):
session = await get_session(request)
session['message'] = 'raise works'
raise web.HTTPFound('/')
async def set_return(request):
session = await get_session(request)
session['message'] = 'return works'
return web.HTTPFound('/')
app = web.Application(middlewares=[session_middleware(SimpleCookieStorage())])
app.router.add_route('GET', '/', show)
app.router.add_route('GET', '/raise', set_raise)
app.router.add_route('GET', '/return', set_return)
loop = asyncio.get_event_loop()
f = loop.create_server(app.make_handler(), '127.0.0.1', 8000)
srv = loop.run_until_complete(f)
loop.run_forever()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment