Skip to main content

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()))

Download files

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

Source Distribution

simple_http_server_redis_session-0.3.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file simple_http_server_redis_session-0.3.0.tar.gz.

File metadata

  • Download URL: simple_http_server_redis_session-0.3.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for simple_http_server_redis_session-0.3.0.tar.gz
Algorithm Hash digest
SHA256 55abc21e67fe4841d4ef14c7fb646eeb15bbd32eb09ab1e45e81e7e179a3de85
MD5 bab9a309f5bf89f268476d007b15a4ff
BLAKE2b-256 82cacb242c7105ba76ca53d6eda45d69af9cea6a431fe80d04ccb0508ad0810b

See more details on using hashes here.

File details

Details for the file simple_http_server_redis_session-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: simple_http_server_redis_session-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for simple_http_server_redis_session-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a77db935907a2a3cd1c752ba501ae67c2b2a12117153581d9e74f5d5dcdd397
MD5 7a3da89b9e6b58ae6011dd8da4a16c91
BLAKE2b-256 960ceaacdf3fd755b5f034e83647752ea082c0eb22640ba5a28eadc0d6a98d25

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page