A redis session implementation for python-simple-http-server
Project description
Redis Sesion Implementation for Python Simple Http Server
What's this?
This is the redis session implementation for the project https://github.com/keijack/python-simple-http-server, use this extention to save you session data to redis.
How to use?
import simple_http_server
import simple_http_server.server as server
import os
from simple_http_server_redis_session.http_session_redis_impl import RedisSessionFactory
def main(*args):
# host, port, db, username, password are all optional.
simple_http_server.set_session_factory(RedisSessionFactory(host="10.0.2.16", port=6379, db=0, username="", password=""))
server.scan("tests/ctrls", r'.*controllers.*')
root = os.path.dirname(os.path.abspath(__file__))
server.start(
port=9090,
resources={"/public/*": f"{root}/tests/static"})
or you can re-use your redis client which might be used in other codes.
import simple_http_server
import simple_http_server.server as server
import os
import redis
from simple_http_server_redis_session.http_session_redis_impl import RedisSessionFactory
def main(*args):
# This redis client can be used in other business codes.
redis_client = redis.Redis(host="10.0.2.16", port=6379, db=0, username="", password="")
simple_http_server.set_session_factory(RedisSessionFactory(redis_client=redis_client))
root = os.path.dirname(os.path.abspath(__file__))
server.start(
port=9090,
resources={"/public/*": f"{root}/tests/static"})
Write Your Own ObjectSerializer
Module pickle
is used to do the serialization and deserialization, if the defalut serialization logic could not satisfy you, you can write your own
simple_http_server_redis_session.http_session_redis_impl import ObjectSerializer
class MyObjectSerializer(ObjectSerializer):
def object_to_bytes(self, obj: Any) -> bytes:
bys = ...
return bys
def bytes_to_objects(self, value: bytes) -> Any:
obj = ...
return obj
# Set it when initializing a SessionFactory.
simple_http_server.set_session_factory(RedisSessionFactory(host="10.0.2.16", port=6379, db=0, username="", password="", object_serializer=MyObjectSerializer()))
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
Built Distribution
Close
Hashes for simple_http_server_redis_session-0.3.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55abc21e67fe4841d4ef14c7fb646eeb15bbd32eb09ab1e45e81e7e179a3de85 |
|
MD5 | bab9a309f5bf89f268476d007b15a4ff |
|
BLAKE2b-256 | 82cacb242c7105ba76ca53d6eda45d69af9cea6a431fe80d04ccb0508ad0810b |
Close
Hashes for simple_http_server_redis_session-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a77db935907a2a3cd1c752ba501ae67c2b2a12117153581d9e74f5d5dcdd397 |
|
MD5 | 7a3da89b9e6b58ae6011dd8da4a16c91 |
|
BLAKE2b-256 | 960ceaacdf3fd755b5f034e83647752ea082c0eb22640ba5a28eadc0d6a98d25 |