NAME

PAGI::Middleware::Session::Store - Base class for async session storage

SYNOPSIS

package My::Store;
use parent 'PAGI::Middleware::Session::Store';
use Future;

sub get {
    my ($self, $id) = @_;
    # Return Future resolving to hashref or undef
}

sub set {
    my ($self, $id, $data) = @_;
    # Return Future resolving to 1
}

sub delete {
    my ($self, $id) = @_;
    # Return Future resolving to 1
}

DESCRIPTION

PAGI::Middleware::Session::Store defines the async interface for session storage backends. All methods return Future objects so that storage operations can be asynchronous (e.g. Redis, database).

Subclasses must implement get, set, and delete.

METHODS

new

my $store = PAGI::Middleware::Session::Store->new(%options);

Create a new store instance.

get

my $future = $store->get($id);

Retrieve session data for the given ID. Returns a Future that resolves to a hashref of session data, or undef if no session exists for that ID. Subclasses must implement this.

set

my $future = $store->set($id, $data);

Store session data for the given ID. Returns a Future that resolves to 1 on success. Subclasses must implement this.

delete

my $future = $store->delete($id);

Remove session data for the given ID. Returns a Future that resolves to 1 on success. Subclasses must implement this.

SEE ALSO

PAGI::Middleware::Session::Store::Memory - In-memory session store

PAGI::Middleware::Session - Session management middleware