NAME
Dancer::Session::ElasticSearch - ElasticSearch based session engine for Dancer
SYNOPSIS
This module implements a session engine storing session variables in an ElasticSearch index. It also signs IDs to thwart tampering and guessing.
USAGE
In config.yml
session: "ElasticSearch"
session_options:
connection:
... settings to pass to ElasticSearch
index: "my_index" # defaults to "session"
type: "my_session" # defaults to "session"
signing:
secret: "ldjaldjaklsdanm.m" # required for signing IDs
length: 10 # length of the salt and hash. defaults to 10
This session engine will not remove expired sessions on the server, but as it's ElasticSearch you can set a ttl on the documents when you create your ES index and let ES do the work for you.
METHODS
create()
Creates a new session. Returns the session object.
flush()
Write the session to ES. Returns the session object.
retrieve($id)
Look for a session with the given id.
Returns the session object if found, undef
if not.
destroy()
Remove the current session object from ES
INTERNAL METHODS
_es
Connect to ElasticSearch and returns a handle
init
Overload the init method in Dancer::Session::Abstract to not
create an ID as we will use the ElasticSearch ID instead.
_verify($string)
Verifies a signed ID
_sign($id)
Signs an ID
_hash($id, $salt)
Creates a hash from the $id, $salt and secret key as found in the config
FORK ME
Fork a copy for yourself from https://github.com/babf/Dancer-Session-ElasticSearch