class Orion::Middleware::Session

Overview

Session management middleware for Orion Supports multiple storage backends (Cookie, Memory, Redis)

Usage: use Orion::Middleware::Session.new( secret: ENV["SECRET_KEY_BASE"], store: :cookie, # or :memory, :redis expire_after: 2.hours )

In routes: session[:user_id] = 123 session[:user_id]? # => 123 session.delete(:user_id)

Included Modules

Defined in:

orion/middleware/session.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(secret : String, cookie_name : String = "_orion_session", expire_after : Time::Span = 2.hours, store : Symbol | Store = :cookie, same_site : HTTP::Cookie::SameSite = HTTP::Cookie::SameSite::Lax, secure : Bool = false, http_only : Bool = true) #

Instance Method Detail

def call(context : HTTP::Server::Context) #

def cookie_name : String #

def cookie_name=(cookie_name : String) #

def expire_after : Time::Span #

def expire_after=(expire_after : Time::Span) #

def secret : String #

def secret=(secret : String) #

def store : Store #

def store=(store : Store) #