| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.101.0/docs/apis/_sources/http_client_digest_session_1.rst.txt |
.. index:: single: http_client_digest_session(HTTPTransport)
.. _http_client_digest_session/1:
.. rst-class:: right
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.
| Availability:
| logtalk_load(http_digest(loader))
| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-07-09
| Compilation flags:
| static, context_switching_calls
| Imports:
| public :ref:`options <options/0>`
| public :ref:`http_text_helpers <http_text_helpers/0>`
| Uses:
| :ref:`http_cookie_jar <http_cookie_jar/0>`
| :ref:`http_cookies(Representation) <http_cookies/1>`
| :ref:`http_core <http_core/0>`
| :ref:`http_digest <http_digest/0>`
| :ref:`http_multipart <http_multipart/0>`
| :ref:`list <list/0>`
| :ref:`url(Representation) <url/1>`
| :ref:`user <user/0>`
| :ref:`uuid(Representation) <uuid/1>`
| Remarks:
401 Digest challenge accepted by the core http_digest object.| 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/3 .. _http_client_digest_session/1::open/3:
open/3 ^^^^^^^^^^
Opens a new Digest client session with the given username and password and a freshly created owned cookie jar.
| Compilation flags:
| static
| Template:
| open(Session,Username,Password)
| Mode and number of proofs:
| open(-compound,++text,++text) - one_or_error
| Exceptions:
.. index:: open/4 .. _http_client_digest_session/1::open/4:
open/4 ^^^^^^^^^^
Opens a new Digest client session using the given credentials plus cookie-jar, request-default, and default Digest authorization options.
| Compilation flags:
| static
| Template:
| open(Session,Username,Password,Options)
| Mode and number of proofs:
| open(-compound,++text,++text,+list(compound)) - one_or_error
| Exceptions:
| Username or Password is neither a variable nor text:
| type_error(text,Text)
| 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)
| 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)
.. index:: close/1 .. _http_client_digest_session/1::close/1:
close/1 ^^^^^^^^^^^
Closes a Digest client session and, when applicable, the owned cookie jar created for it.
| Compilation flags:
| static
| Template:
| close(Session)
| Mode and number of proofs:
| close(+compound) - one_or_error
| Exceptions:
| Session is a variable:
| instantiation_error
| Session 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))
.. index:: cookie_jar/2 .. _http_client_digest_session/1::cookie_jar/2:
cookie_jar/2 ^^^^^^^^^^^^^^^^
Returns the configured cookie jar handle or the atom none when the session does not persist cookies.
| Compilation flags:
| static
| Template:
| cookie_jar(Session,Jar)
| Mode and number of proofs:
| cookie_jar(+compound,-term) - one_or_error
| Exceptions:
| Session is a variable:
| instantiation_error
| Session 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))
.. index:: request/5 .. _http_client_digest_session/1::request/5:
request/5 ^^^^^^^^^^^^^
Performs one HTTP request using session defaults, cookie replay/storage, and automatic retry when the server replies with a Digest challenge.
| Compilation flags:
| static
| Template:
| request(Session,Method,URL,Response,Options)
| Mode and number of proofs:
| request(+compound,+atom,+atom,-compound,+list(compound)) - one_or_error
| Exceptions:
| Session is a variable:
| instantiation_error
| Session 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_error
| 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)
| Options is a variable or a partial list:
| instantiation_error
| Options 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)
| The Digest challenge contains an unsupported algorithm:
| domain_error(http_digest_algorithm,Algorithm)
| The Digest challenge contains an unsupported qop value:
| domain_error(http_digest_qop,Qop)
.. index:: get/4 .. _http_client_digest_session/1::get/4:
get/4 ^^^^^^^^^
Convenience wrapper over request/5 using the get method.
| Compilation flags:
| static
| Template:
| get(Session,URL,Response,Options)
| Mode and number of proofs:
| get(+compound,+atom,-compound,+list(compound)) - one_or_error
| Exceptions:
| Session 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)
.. index:: head/4 .. _http_client_digest_session/1::head/4:
head/4 ^^^^^^^^^^
Convenience wrapper over request/5 using the head method.
| Compilation flags:
| static
| Template:
| head(Session,URL,Response,Options)
| Mode and number of proofs:
| head(+compound,+atom,-compound,+list(compound)) - one_or_error
| Exceptions:
| Session 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)
.. index:: delete/4 .. _http_client_digest_session/1::delete/4:
delete/4 ^^^^^^^^^^^^
Convenience wrapper over request/5 using the delete method.
| Compilation flags:
| static
| Template:
| delete(Session,URL,Response,Options)
| Mode and number of proofs:
| delete(+compound,+atom,-compound,+list(compound)) - one_or_error
| Exceptions:
| Session 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)
.. index:: post/5 .. _http_client_digest_session/1::post/5:
post/5 ^^^^^^^^^^
Convenience wrapper over request/5 using the post method and the given body.
| Compilation flags:
| static
| Template:
| post(Session,URL,Body,Response,Options)
| Mode and number of proofs:
| post(+compound,+atom,+compound,-compound,+list(compound)) - one_or_error
| Exceptions:
| Session 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)
.. index:: put/5 .. _http_client_digest_session/1::put/5:
put/5 ^^^^^^^^^
Convenience wrapper over request/5 using the put method and the given body.
| Compilation flags:
| static
| Template:
| put(Session,URL,Body,Response,Options)
| Mode and number of proofs:
| put(+compound,+atom,+compound,-compound,+list(compound)) - one_or_error
| Exceptions:
| Session 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)
.. index:: patch/5 .. _http_client_digest_session/1::patch/5:
patch/5 ^^^^^^^^^^^
Convenience wrapper over request/5 using the patch method and the given body.
| Compilation flags:
| static
| Template:
| patch(Session,URL,Body,Response,Options)
| Mode and number of proofs:
| patch(+compound,+atom,+compound,-compound,+list(compound)) - one_or_error
| Exceptions:
| Session 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)
(no local declarations; see entity ancestors if any)
.. index:: session_seed_/1 .. _http_client_digest_session/1::session_seed_/1:
session_seed_/1
^^^^^^^^^^^^^^^^^^^
Last allocated Digest client session identifier.
| Compilation flags:
| dynamic
| Template:
| session_seed_(SessionId)
| Mode and number of proofs:
| session_seed_(?positive_integer) - zero_or_one
.. index:: session_state_/2 .. _http_client_digest_session/1::session_state_/2:
session_state_/2
^^^^^^^^^^^^^^^^^^^^
Per-session stored cookie jar ownership, credentials, default request state, and default Digest authorization options.
| Compilation flags:
| dynamic
| Template:
| session_state_(SessionId,State)
| Mode and number of proofs:
| session_state_(?positive_integer,?compound) - zero_or_more
(none)