Provides server-backed sessions for Sanic using Redis, Memcache and more.
Project description
sanic_session is an extension for sanic that integrates server-backed sessions with a Flask-like API.
sanic_session provides a number of session interfaces for you to store a client’s session data. The interfaces available right now are:
Redis
Memcache
In-Memory (suitable for testing and development environments)
Documentation
Documentation is available at PythonHosted.
Example
A simple example uses the in-memory session interface.
from sanic import Sanic
from sanic.response import text
from sanic_session import InMemorySessionInterface
app = Sanic()
session_interface = InMemorySessionInterface()
@app.middleware('request')
async def add_session_to_request(request):
# before each request initialize a session
# using the client's request
await session_interface.open(request)
@app.middleware('response')
async def save_session(request, response):
# after each request save the session,
# pass the response to set client cookies
await session_interface.save(request, response)
@app.route("/")
async def index(request):
# interact with the session like a normal dict
if not request['session'].get('foo'):
request['session']['foo'] = 0
request['session']['foo'] += 1
return text(request['session']['foo'])
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000, debug=True)
Examples of using redis and memcache backed sessions can be found in the documentation, under Using the Interfaces.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sanic_session-0.1.0.tar.gz
(4.5 kB
view hashes)
Built Distribution
Close
Hashes for sanic_session-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4203205e643ac27cd20dc9e0ef35909b5ff04b6033f86e2f44265a1846996c0b |
|
MD5 | a653a51cf7428fa9c89a49555d9a9609 |
|
BLAKE2b-256 | 394a2c3da104daabecdaad7daa6232fb49559cb7b72d154e24fd3eb6495974a4 |