Skip to main content

file sessions for aiohttp.web

Project description

The library provides file sessions store for aiohttp.web.

Usage

A trivial usage example:

import asyncio
import shutil
import tempfile
import time

from aiohttp import web
from aiohttp_session import setup, get_session
from aiohttp_session_file import FileStorage


async def handler(request):
    session = await get_session(request)
    last_visit = session['last_visit'] if 'last_visit' in session else None
    session['last_visit'] = time.time()
    text = 'Last visited: {}'.format(last_visit)
    return web.Response(text=text)


async def setup_dir(app):
    dirpath = tempfile.mkdtemp(prefix='aiohttp-session-')

    async def remove_dir(app):
        shutil.rmtree(dirpath)

    app.on_cleanup.append(remove_dir)
    return dirpath


async def make_app():
    app = web.Application()

    dirpath = await setup_dir(app)

    max_age = 3600 * 24 * 365  # 1 year
    setup(app, FileStorage(dirpath, max_age=max_age))

    app.router.add_get('/', handler)
    return app


web.run_app(make_app())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiohttp-session-file-0.0.3.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

aiohttp_session_file-0.0.3-py3-none-any.whl (3.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page