# circuits.web.sessions module

Session Components

This module implements Session Components that can be used to store and access persistent information.

circuits.web.sessions.who(request, encoding='utf-8')

  Create a SHA1 Hash of the User’s IP Address and User-Agent

circuits.web.sessions.create_session(request)

  Create a unique session id from the request

  Returns a unique session using `uuid4()` and a `sha1()` hash of the users IP Address and User Agent in the form of `sid/who`.

circuits.web.sessions.verify_session(request, sid)

  Verify a User’s Session

  This verifies the User’s Session by verifying the SHA1 Hash of the User’s IP Address and User-Agent match the provided Session ID.

class circuits.web.sessions.Session(sid, data, store)

  Bases: `dict`

  property sid
  property store
  expire()

class circuits.web.sessions.Store

  Bases: `ABC`

  abstractmethod delete(sid)

    Delete the session data identified by sid

  abstractmethod load(sid)

    Load the session data identified by sid

  abstractmethod save(sid)

    Save the session data identified by sid

class circuits.web.sessions.MemoryStore

  Bases: `Store`

  property data
  delete(sid)

    Delete the session data identified by sid

  load(sid)

    Load the session data identified by sid

  save(sid, data)

    Save the session data identified by sid

class circuits.web.sessions.Sessions(*args, **kwargs)

  Bases: `Component`

  Initializes x; see x.__class__.__doc__ for signature

  channel = 'web'
  property name

    Return the name of this Component/Manager

  property store
  request(request, response)