| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.101.0/docs/apis/_sources/http_server_session_0.rst.txt |
.. index:: single: http_server_session .. _http_server_session/0:
.. rst-class:: right
object
http_server_sessionServer-side HTTP session manager over normalized request and response terms using opaque cookie identifiers and an in-memory session store.
| Availability:
| logtalk_load(http_session(loader))
| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-06-26
| Compilation flags:
| static, context_switching_calls
| Imports:
| public :ref:`options <options/0>`
| Uses:
| :ref:`date <date/0>`
| :ref:`http_cookies(Representation) <http_cookies/1>`
| :ref:`http_core <http_core/0>`
| :ref:`ids <ids/0>`
| :ref:`list <list/0>`
| :ref:`os <os/0>`
| Remarks: | (none)
| Inherited public predicates:
| Â :ref:options_protocol/0::check_option/1 Â :ref:options_protocol/0::check_options/1 Â :ref:options_protocol/0::default_option/1 Â :ref:options_protocol/0::default_options/1 Â :ref:options_protocol/0::option/2 Â :ref:options_protocol/0::option/3 Â :ref:options_protocol/0::valid_option/1 Â :ref:options_protocol/0::valid_options/1 Â
.. contents:: :local: :backlinks: top
.. index:: open/1 .. _http_server_session/0::open/1:
open/1 ^^^^^^^^^^
Opens a new server-session manager using the default cookie and timeout options.
| Compilation flags:
| static
| Template:
| open(Manager)
| Mode and number of proofs:
| open(-compound) - one_or_error
| Exceptions:
.. index:: open/2 .. _http_server_session/0::open/2:
open/2 ^^^^^^^^^^
Opens a new server-session manager using the given cookie, timeout, and store options.
| Compilation flags:
| static
| Template:
| open(Manager,Options)
| Mode and number of proofs:
| open(-compound,+list(compound)) - one_or_error
| Exceptions:
| Options is a variable or a partial list:
| instantiation_error
| Options is neither a variable nor a list:
| type_error(list,Options)
| An element Option of the list Options is neither a variable nor a compound term:
| type_error(compound,Option)
| An element Option of the list Options is a compound term but not a valid option:
| domain_error(option,Option)
.. index:: close/1 .. _http_server_session/0::close/1:
close/1 ^^^^^^^^^^^
Closes a server-session manager and discards all in-memory request contexts and stored sessions owned by it.
| Compilation flags:
| static
| Template:
| close(Manager)
| Mode and number of proofs:
| close(+compound) - one_or_error
| Exceptions:
| Manager is a variable:
| instantiation_error
| Manager is neither a variable nor an open server-session manager handle:
| domain_error(http_server_session,Manager)
.. index:: begin/3 .. _http_server_session/0::begin/3:
begin/3 ^^^^^^^^^^^
Begins server-session processing for a normalized request, annotating it with a per-request session handle and the current session state.
| Compilation flags:
| static
| Template:
| begin(Manager,Request,AnnotatedRequest)
| Mode and number of proofs:
| begin(+compound,+compound,-compound) - one_or_error
| Exceptions:
| Manager is a variable:
| instantiation_error
| Manager is neither a variable nor an open server-session manager handle:
| domain_error(http_server_session,Manager)
| Request is not a valid normalized HTTP request:
| domain_error(http_server_session_request,Request)
.. index:: finish/3 .. _http_server_session/0::finish/3:
finish/3 ^^^^^^^^^^^^
Finishes server-session processing for an annotated normalized request and a normalized response, adding any needed Set-Cookie lifecycle properties.
| Compilation flags:
| static
| Template:
| finish(Request,Response0,Response)
| Mode and number of proofs:
| finish(+compound,+compound,-compound) - one_or_error
| Exceptions:
| Request is not a valid annotated server-session request:
| domain_error(http_server_session_request,Request)
| Response0 is not a valid normalized HTTP response:
| domain_error(http_server_session_response,Response0)
| The decorated response violates normalized HTTP response semantics:
| domain_error(http_header_semantics,Header)
.. index:: current/2 .. _http_server_session/0::current/2:
current/2 ^^^^^^^^^^^^^
Returns the request-bound current server-session handle from an annotated normalized request.
| Compilation flags:
| static
| Template:
| current(Request,Session)
| Mode and number of proofs:
| current(+compound,-compound) - one_or_error
| Exceptions:
| Request is not a valid annotated server-session request:
| domain_error(http_server_session_request,Request)
.. index:: ensure/2 .. _http_server_session/0::ensure/2:
ensure/2 ^^^^^^^^^^^^
Ensures that the annotated request has a backing stored server session and returns its request-bound handle.
| Compilation flags:
| static
| Template:
| ensure(Request,Session)
| Mode and number of proofs:
| ensure(+compound,-compound) - one_or_error
| Exceptions:
| Request is not a valid annotated server-session request:
| domain_error(http_server_session_request,Request)
.. index:: data/2 .. _http_server_session/0::data/2:
data/2 ^^^^^^^^^^
Returns the current session key-value data pairs for a request-bound server-session handle or [] when no backing session exists yet.
| Compilation flags:
| static
| Template:
| data(Session,Data)
| Mode and number of proofs:
| data(+compound,-list(compound)) - one_or_error
| Exceptions:
| Session is a variable:
| instantiation_error
| Session is not a valid request-bound server-session handle:
| domain_error(http_server_session_handle,Session)
.. index:: get/3 .. _http_server_session/0::get/3:
get/3 ^^^^^^^^^
Returns the current value for a session data key from a request-bound server-session handle.
| Compilation flags:
| static
| Template:
| get(Session,Key,Value)
| Mode and number of proofs:
| get(+compound,+term,-term) - zero_or_one
.. index:: set/3 .. _http_server_session/0::set/3:
set/3 ^^^^^^^^^
Sets or replaces a session data key-value pair, creating a backing stored session when needed.
| Compilation flags:
| static
| Template:
| set(Session,Key,Value)
| Mode and number of proofs:
| set(+compound,+term,+term) - one_or_error
| Exceptions:
| Session is a variable:
| instantiation_error
| Session is not a valid request-bound server-session handle:
| domain_error(http_server_session_handle,Session)
.. index:: remove/3 .. _http_server_session/0::remove/3:
remove/3 ^^^^^^^^^^^^
Removes a session data key-value pair and returns its previous value.
| Compilation flags:
| static
| Template:
| remove(Session,Key,Value)
| Mode and number of proofs:
| remove(+compound,+term,-term) - zero_or_one
.. index:: destroy/1 .. _http_server_session/0::destroy/1:
destroy/1 ^^^^^^^^^^^^^
Destroys the backing stored session, causing finish/3 to emit a deletion cookie when applicable.
| Compilation flags:
| static
| Template:
| destroy(Session)
| Mode and number of proofs:
| destroy(+compound) - one_or_error
| Exceptions:
| Session is a variable:
| instantiation_error
| Session is not a valid request-bound server-session handle:
| domain_error(http_server_session_handle,Session)
.. index:: renew/2 .. _http_server_session/0::renew/2:
renew/2 ^^^^^^^^^^^
Renews the backing stored session identifier and returns the new opaque cookie identifier.
| Compilation flags:
| static
| Template:
| renew(Session,NewIdentifier)
| Mode and number of proofs:
| renew(+compound,-atom) - one_or_error
| Exceptions:
| Session is a variable:
| instantiation_error
| Session is not a valid request-bound server-session handle:
| domain_error(http_server_session_handle,Session)
.. index:: gc/2 .. _http_server_session/0::gc/2:
gc/2 ^^^^^^^^
Performs opportunistic garbage collection of expired stored sessions for the given manager and returns the number collected.
| Compilation flags:
| static
| Template:
| gc(Manager,Collected)
| Mode and number of proofs:
| gc(+compound,-integer) - one_or_error
| Exceptions:
| Manager is a variable:
| instantiation_error
| Manager is neither a variable nor an open server-session manager handle:
| domain_error(http_server_session,Manager)
.. index:: count/2 .. _http_server_session/0::count/2:
count/2 ^^^^^^^^^^^
Returns the number of currently stored sessions owned by the given manager.
| Compilation flags:
| static
| Template:
| count(Manager,Count)
| Mode and number of proofs:
| count(+compound,-integer) - one_or_error
| Exceptions:
| Manager is a variable:
| instantiation_error
| Manager is neither a variable nor an open server-session manager handle:
| domain_error(http_server_session,Manager)
.. index:: http_server_session_event/2 .. _http_server_session/0::http_server_session_event/2:
http_server_session_event/2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Optional overridable hook predicate called with server-session lifecycle events.
| Compilation flags:
| static
| Template:
| http_server_session_event(Manager,Event)
| Mode and number of proofs:
| http_server_session_event(+compound,+compound) - zero_or_one
.. index:: manager_seed_/1 .. _http_server_session/0::manager_seed_/1:
manager_seed_/1
^^^^^^^^^^^^^^^^^^^
Last allocated server-session manager identifier.
| Compilation flags:
| dynamic
| Template:
| manager_seed_(ManagerId)
| Mode and number of proofs:
| manager_seed_(?positive_integer) - zero_or_one
.. index:: manager_state_/2 .. _http_server_session/0::manager_state_/2:
manager_state_/2
^^^^^^^^^^^^^^^^^^^^
Per-manager cookie, timeout, and garbage-collection state.
| Compilation flags:
| dynamic
| Template:
| manager_state_(ManagerId,State)
| Mode and number of proofs:
| manager_state_(?positive_integer,?compound) - zero_or_more
.. index:: context_seed_/1 .. _http_server_session/0::context_seed_/1:
context_seed_/1
^^^^^^^^^^^^^^^^^^^
Last allocated request context identifier.
| Compilation flags:
| dynamic
| Template:
| context_seed_(ContextId)
| Mode and number of proofs:
| context_seed_(?positive_integer) - zero_or_one
.. index:: context_state_/2 .. _http_server_session/0::context_state_/2:
context_state_/2
^^^^^^^^^^^^^^^^^^^^
Per-request server-session context state.
| Compilation flags:
| dynamic
| Template:
| context_state_(ContextId,Context)
| Mode and number of proofs:
| context_state_(?positive_integer,?compound) - zero_or_more
.. index:: stored_session_/6 .. _http_server_session/0::stored_session_/6:
stored_session_/6
^^^^^^^^^^^^^^^^^^^^^
Stored server-session data entries owned by a manager.
| Compilation flags:
| dynamic
| Template:
| stored_session_(ManagerId,SessionId,Data,CreatedAt,LastSeenAt,AbsoluteExpiryAt)
| Mode and number of proofs:
| stored_session_(?positive_integer,?atom,?list(compound),?non_negative_integer,?non_negative_integer,?nonvar) - zero_or_more
(none)