### Class

# EDataServer SoupSession

since: 3.26

#### Description [src]

    class EDataServer.SoupSession : Soup.Session
    {
      /* No available fields */
    }

Contains only private data that should be read and manipulated using the functions below.

Available since: 3.26

#### Hierarchy

#### Ancestors

- SoupSession
- GObject

#### Descendants

- EGDataSession
- EWebDAVSession

#### Constructors

###### e_soup_session_new

Creates a new `ESoupSession` associated with given `source`. The `source` can be used to store and read SSL trust settings, but only if it already contains an `ESourceWebdav` extension. Otherwise the SSL trust settings are ignored.

since: 3.26

#### Functions

###### e_soup_session_error_quark

No description available.

###### e_soup_session_util_get_force_http1_supported

Checks whether `e_soup_session_set_force_http1()` can be used to force HTTP/1 usage. This depends on the libsoup version the data server had been compiled with.

since: 3.48

###### e_soup_session_util_get_message_bytes

Returns bytes read from the message response, when the message send failed. This can be used to examine detailed error returned by the server in the response body.

since: 3.46

###### e_soup_session_util_normalize_uri_path

Normalizes the path of the `uri`, aka encodes characters, which should be encoded, if needed. Returns, modified URI when any change had been made to the path. It doesn’t touch other parts of the `uri`.

since: 3.46

###### e_soup_session_util_ref_message_request_body

Returns referenced request data for the `message`, as being previously set by the `e_soup_session_util_set_message_request_body()` or e_soup_session_util_set_message_request_body_from_data().

since: 3.46

###### e_soup_session_util_set_message_request_body

Sets the request body of the `message` from the `input_stream` of the `length`, with optional `content_type`. The function makes sure the `message` request body is set again when the message is restarted.

since: 3.46

###### e_soup_session_util_set_message_request_body_from_data

Sets the request body of the `message` from the `data` of the `length`, with optional `content_type`. The function makes sure the `message` request body is set again when the message is restarted.

since: 3.46

###### e_soup_session_util_status_to_string

Returns the `reason_phrase`, if it’s non-`NULL` and non-empty, a static string corresponding to `status_code`. In case neither that can be found a localized “Unknown error” message is returned.

since: 3.26

#### Instance methods

###### e_soup_session_check_result

Checks result of the `message` and sets the `error` if it failed. When it failed and the `read_bytes` is provided, then these are set to `message`‘s response body, thus it can be used later.

since: 3.26

###### e_soup_session_dup_credentials

No description available.

since: 3.26

###### e_soup_session_get_authentication_requires_credentials

No description available.

since: 3.28

###### e_soup_session_get_force_http1

Returns whether it’s forced to use HTTP/1 for the messages created by the `session`. See `e_soup_session_set_force_http1()` for more information about the limitations.

since: 3.48

###### e_soup_session_get_handle_backoff_responses

Returns whether the `session` can handle backoff responses from the server. See `e_soup_session_set_handle_backoff_responses()` for more information about the limitations.

since: 3.54

###### e_soup_session_get_log_level

No description available.

since: 3.26

###### e_soup_session_get_source

Returns an `ESource` associated with the `session`, if such was set in the creation time.

since: 3.26

###### e_soup_session_get_ssl_error_details

Populates `out_certificate_pem` and `out_certificate_errors` with the last values returned on #G_TLS_ERROR_BAD_CERTIFICATE error.

since: 3.26

###### e_soup_session_handle_authentication_failure

Handles authentication failure and sets appropriate value to the `out_auth_result` for the provided `op_error` and used `credentials`. Converts the `op_error` into an appropriate error returned in the `error`.

since: 3.46

###### e_soup_session_new_message

Creates a new `SoupMessage`, similar to soup_message_new(), but also presets request headers with “User-Agent” to be “Evolution/version” and with “Connection” to be “close”.

since: 3.26

###### e_soup_session_new_message_from_uri

Creates a new `SoupMessage`, similar to soup_message_new_from_uri(), but also presets request headers with “User-Agent” to be “Evolution/version” and with “Connection” to be “close”.

since: 3.46

###### e_soup_session_prepare_message_send_sync

Prepares the `message` to be a sent asynchronously with e_soup_session_send_message(). The returned pointer is passed to the `e_soup_session_send_message()` as the prepare_data parameter.

since: 3.46

###### e_soup_session_send_message

Asynchronously sends the `message`. Finish the call with e_soup_session_send_message_finish().

since: 3.46

###### e_soup_session_send_message_finish

Finishes the call of e_soup_session_send_message(). This is supposed to be called from the callback passed to the e_soup_session_send_message().

since: 3.46

###### e_soup_session_send_message_simple_sync

Similar to e_soup_session_send_message_sync(), except it reads whole response content into memory and returns it as a `GByteArray`. Use `e_soup_session_send_message_sync()` when you want to have more control on the content read.

since: 3.26

###### e_soup_session_send_message_sync

Synchronously sends prepared message and returns `GInputStream` that can be used to read its contents.

since: 3.26

###### e_soup_session_set_credentials

Sets credentials to use for connection. Using `NULL` for `credentials` unsets previous value.

since: 3.26

###### e_soup_session_set_force_http1

Sets whether the messages created through the `session` using `e_soup_session_new_message()` or `e_soup_session_new_message_from_uri()` should force use of the HTTP/1, instead of trying HTTP/2 and fallback to HTTP/1, when the newer version cannot be used.

since: 3.48

###### e_soup_session_set_handle_backoff_responses

Sets whether to automatically handle backoff responses from the server, that is, when the server requests the client to retry later.

since: 3.54

###### e_soup_session_setup_logging

Setups logging for the `session`. The `logging_level` can be one of: “all” - log whole raw communication; “body” - the same as “all”; “headers” - log the headers only; “min” - minimal logging; “1” - the same as “all”. Any other value, including `NULL`, disables logging.

since: 3.26

##### Methods inherited from SoupSession (42)

Please see SoupSession for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### EDataServer.SoupSession:credentials

The `ENamedParameters` containing login credentials.

since: 3.26

###### EDataServer.SoupSession:force-http1

Whether the messages created by the session should force use of HTTP/1 instead of trying HTTP/2 first and fallback to the HTTP/1 when the newer version failed to connect.

since: 3.48

###### EDataServer.SoupSession:handle-backoff-responses

Set to `TRUE`, which is the default, to automatically handle backoff responses from the server, that is, when the server requests the client to retry later.

since: 3.54

###### EDataServer.SoupSession:source

The `ESource` being used for this soup session.

since: 3.26

##### Properties inherited from SoupSession (12)

###### Soup.Session:accept-language

If non-`NULL`, the value to use for the “Accept-Language” header on `SoupMessage`s sent from this session.

###### Soup.Session:accept-language-auto

If `TRUE`, `SoupSession` will automatically set the string for the “Accept-Language” header on every `SoupMessage` sent, based on the return value of `g_get_language_names()`.

###### Soup.Session:idle-timeout

Connection lifetime (in seconds) when idle. Any connection left idle longer than this will be closed.

###### Soup.Session:local-address

Sets the `GInetSocketAddress` to use for the client side of the connection.

###### Soup.Session:max-conns

The maximum number of connections that the session can open at once.

###### Soup.Session:max-conns-per-host

The maximum number of connections that the session can open at once to a given host.

###### Soup.Session:proxy-resolver

A `GProxyResolver` to use with this session.

###### Soup.Session:remote-connectable

Sets a socket to make outgoing connections on. This will override the default behaviour of opening TCP/IP sockets to the hosts specified in the URIs.

###### Soup.Session:timeout

The timeout (in seconds) for socket I/O operations (including connecting to a server, and waiting for a reply to an HTTP request).

###### Soup.Session:tls-database

Sets the `GTlsDatabase` to use for validating SSL/TLS certificates.

###### Soup.Session:tls-interaction

A `GTlsInteraction` object that will be passed on to any `GTlsConnection`s created by the session.

###### Soup.Session:user-agent

User-Agent string.

#### Signals

##### Signals inherited from SoupSession (2)

###### SoupSession::request-queued

Emitted when a request is queued on `session`.

###### SoupSession::request-unqueued

Emitted when a request is removed from `session`‘s queue, indicating that `session` is done with it.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct EDataServerSoupSessionClass {
      SoupSessionClass parent_class;
      gpointer reserved;

    }

No description available.

###### Class members

`parent_class: SoupSessionClass`

  No description available.

`reserved: gpointer`

  No description available.