object
http_client_session(HTTPTransport)
HTTPTransport- The object implementinghttp_transport_protocol.
Stateful HTTP client sessions that add cookie persistence on top of the stateless http_client facade.
logtalk_load(http_session(loader))static, context_switching_calls
Option precedence: When the same session default or per-request option is given multiple times, the first occurrence is used.
Transport options: The
connection_options(Options)session default and request option forwards one-shot transport configuration to the underlyinghttp_clientfacade.
Public predicates
open/1
Opens a new HTTP session with a freshly created owned cookie jar.
staticopen(Session)open(-compound) - one_or_erroropen/2
Opens a new HTTP session using the given defaults and cookie-jar options, including cookies_file(File) for reopening a saved owned cookie jar and connection_options(Options) for one-shot transport configuration.
staticopen(Session,Options)open(-compound,+list(compound)) - one_or_errorOptions is a variable or a partial list:instantiation_errorOptions is neither a variable nor a list:type_error(list,Options)Option of the list Options is neither a variable nor a compound term:type_error(compound,Option)Option of the list Options is a compound term but not a valid option:domain_error(option,Option)Options contains an invalid HTTP client session option:domain_error(http_client_session_option,Option)Options contains an invalid HTTP client session option combination:domain_error(http_client_session_options,Options)Options contains invalid persisted cookie data:domain_error(http_cookie_jar_persisted_cookies,PersistedCookies)close/1
Closes a session and, when applicable, the owned cookie jar created for it.
staticclose(Session)close(+compound) - one_or_errorSession is a variable:instantiation_errorSession is neither a variable nor an open HTTP client session handle:domain_error(http_client_session,Session)Session refers to a closed HTTP client session handle:existence_error(http_client_session,http_client_session(SessionId))request/5
Performs one HTTP request using session defaults and automatic cookie replay/storage. Per-request options can include connection_options(Options) for one-shot transport configuration, source_url(URL) for an absolute HTTP or HTTPS URL, source_origin(Origin) for a bare Origin header value, and top_level_navigation(Boolean) to drive SameSite-aware cookie replay. When omitted, SameSite replay defaults to source_url(URL) and top_level_navigation(false).
staticrequest(Session,Method,URL,Response,Options)request(+compound,+atom,+atom,-compound,+list(compound)) - one_or_errorSession is a variable:instantiation_errorSession is neither a variable nor an open HTTP client session handle:domain_error(http_client_session,Session)Session refers to a closed HTTP client session handle:existence_error(http_client_session,http_client_session(SessionId))Options is a variable or a partial list:instantiation_errorOptions contains invalid HTTP client session request options:domain_error(http_client_session_request_options,Options)Options contains an invalid HTTP client session request option:domain_error(http_client_session_request_option,Option)URL is not a supported absolute HTTP URL:domain_error(http_client_url,URL)URL uses an unsupported HTTP scheme:domain_error(http_client_scheme,Scheme)domain_error(http_cookie_jar_request_context,RequestContext)domain_error(http_client_request_option,Option)get/4
Convenience wrapper over request/5 using the get method.
staticget(Session,URL,Response,Options)get(+compound,+atom,-compound,+list(compound)) - one_or_errorSession is not an open HTTP client session handle:domain_error(http_client_session,Session)URL is not a supported absolute HTTP URL:domain_error(http_client_url,URL)Options contains invalid HTTP client session request options:domain_error(http_client_session_request_options,Options)head/4
Convenience wrapper over request/5 using the head method.
statichead(Session,URL,Response,Options)head(+compound,+atom,-compound,+list(compound)) - one_or_errorSession is not an open HTTP client session handle:domain_error(http_client_session,Session)URL is not a supported absolute HTTP URL:domain_error(http_client_url,URL)Options contains invalid HTTP client session request options:domain_error(http_client_session_request_options,Options)delete/4
Convenience wrapper over request/5 using the delete method.
staticdelete(Session,URL,Response,Options)delete(+compound,+atom,-compound,+list(compound)) - one_or_errorSession is not an open HTTP client session handle:domain_error(http_client_session,Session)URL is not a supported absolute HTTP URL:domain_error(http_client_url,URL)Options contains invalid HTTP client session request options:domain_error(http_client_session_request_options,Options)post/5
Convenience wrapper over request/5 using the post method and the given body.
staticpost(Session,URL,Body,Response,Options)post(+compound,+atom,+compound,-compound,+list(compound)) - one_or_errorSession is not an open HTTP client session handle:domain_error(http_client_session,Session)URL is not a supported absolute HTTP URL:domain_error(http_client_url,URL)Body is invalid for the generated normalized HTTP request:domain_error(http_body,Body)Options contains invalid HTTP client session request options:domain_error(http_client_session_request_options,Options)put/5
Convenience wrapper over request/5 using the put method and the given body.
staticput(Session,URL,Body,Response,Options)put(+compound,+atom,+compound,-compound,+list(compound)) - one_or_errorSession is not an open HTTP client session handle:domain_error(http_client_session,Session)URL is not a supported absolute HTTP URL:domain_error(http_client_url,URL)Body is invalid for the generated normalized HTTP request:domain_error(http_body,Body)Options contains invalid HTTP client session request options:domain_error(http_client_session_request_options,Options)patch/5
Convenience wrapper over request/5 using the patch method and the given body.
staticpatch(Session,URL,Body,Response,Options)patch(+compound,+atom,+compound,-compound,+list(compound)) - one_or_errorSession is not an open HTTP client session handle:domain_error(http_client_session,Session)URL is not a supported absolute HTTP URL:domain_error(http_client_url,URL)Body is invalid for the generated normalized HTTP request:domain_error(http_body,Body)Options contains invalid HTTP client session request options:domain_error(http_client_session_request_options,Options)Protected predicates
(no local declarations; see entity ancestors if any)
Private predicates
session_seed_/1
Last allocated session identifier.
dynamicsession_seed_(SessionId)session_seed_(?positive_integer) - zero_or_onesession_state_/2
Per-session stored cookie jar ownership and default request state.
dynamicsession_state_(SessionId,State)session_state_(?positive_integer,?compound) - zero_or_moreOperators
(none)