object
http_client_digest_session(HTTPTransport)
Stateful HTTP Digest client sessions that add cookie persistence and one-round-trip Digest challenge retry on top of the normalized HTTP client and socket libraries.
logtalk_load(http_digest(loader))static, context_switching_calls
Option precedence: When the same session default, Digest default, or per-request option is given multiple times, the first occurrence is used.
Reactive authentication: Requests are sent once without credentials and retried automatically only when the response carries a
401Digest challenge accepted by the corehttp_digestobject.
Public predicates
open/3
Opens a new Digest client session with the given username and password and a freshly created owned cookie jar.
staticopen(Session,Username,Password)open(-compound,++text,++text) - one_or_erroropen/4
Opens a new Digest client session using the given credentials plus cookie-jar, request-default, and default Digest authorization options.
staticopen(Session,Username,Password,Options)open(-compound,++text,++text,+list(compound)) - one_or_errorUsername or Password is neither a variable nor text:type_error(text,Text)Options 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 Digest client session option:domain_error(http_client_digest_session_option,Option)Options contains an invalid Digest client session option combination:domain_error(http_client_digest_session_options,Options)Options contains invalid persisted cookie data:domain_error(http_cookie_jar_persisted_cookies,PersistedCookies)close/1
Closes a Digest client 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 Digest client session handle:domain_error(http_client_digest_session,Session)Session refers to a closed Digest client session handle:existence_error(http_client_digest_session,http_client_digest_session(SessionId))request/5
Performs one HTTP request using session defaults, cookie replay/storage, and automatic retry when the server replies with a Digest challenge.
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 Digest client session handle:domain_error(http_client_digest_session,Session)Session refers to a closed Digest client session handle:existence_error(http_client_digest_session,http_client_digest_session(SessionId))URL is a variable:instantiation_errorURL 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)Options is a variable or a partial list:instantiation_errorOptions contains invalid Digest client session request options:domain_error(http_client_digest_session_request_options,Options)Options contains an invalid Digest client session request option:domain_error(http_client_digest_session_request_option,Option)Options contains invalid form-data headers:domain_error(http_client_form_data_headers,Headers)Options contains invalid form-data properties:domain_error(http_client_form_data_properties,Properties)domain_error(http_digest_algorithm,Algorithm)domain_error(http_digest_qop,Qop)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 Digest client session handle:domain_error(http_client_digest_session,Session)URL is not a supported absolute HTTP URL:domain_error(http_client_url,URL)Options contains invalid Digest client session request options:domain_error(http_client_digest_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 Digest client session handle:domain_error(http_client_digest_session,Session)URL is not a supported absolute HTTP URL:domain_error(http_client_url,URL)Options contains invalid Digest client session request options:domain_error(http_client_digest_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 Digest client session handle:domain_error(http_client_digest_session,Session)URL is not a supported absolute HTTP URL:domain_error(http_client_url,URL)Options contains invalid Digest client session request options:domain_error(http_client_digest_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 Digest client session handle:domain_error(http_client_digest_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 Digest client session request options:domain_error(http_client_digest_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 Digest client session handle:domain_error(http_client_digest_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 Digest client session request options:domain_error(http_client_digest_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 Digest client session handle:domain_error(http_client_digest_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 Digest client session request options:domain_error(http_client_digest_session_request_options,Options)Protected predicates
(no local declarations; see entity ancestors if any)
Private predicates
session_seed_/1
Last allocated Digest client session identifier.
dynamicsession_seed_(SessionId)session_seed_(?positive_integer) - zero_or_onesession_state_/2
Per-session stored cookie jar ownership, credentials, default request state, and default Digest authorization options.
dynamicsession_state_(SessionId,State)session_state_(?positive_integer,?compound) - zero_or_moreOperators
(none)