ahriman.core.http package

Submodules

ahriman.core.http.sync_ahriman_client module

class SyncAhrimanClient(configuration: Configuration | None = None, section: str | None = None, *, suppress_errors: bool = False)

Bases: SyncHttpClient

wrapper for ahriman web service

address

address of the web service

Type:

str

Parameters:
  • configuration (Configuration | None, optional) – configuration instance (Default value = None)

  • section (str | None, optional) – settings section name (Default value = None)

  • suppress_errors (bool, optional) – suppress logging of request errors (Default value = False)

adapters() dict[str, BaseAdapter]

get registered adapters

Returns:

map of protocol and adapter used for this protocol

Return type:

dict[str, BaseAdapter]

headers() dict[str, str]

additional request headers

Returns:

additional request headers defined by class

Return type:

dict[str, str]

on_session_creation(session: Session) None

method which will be called on session creation

Parameters:

session (requests.Session) – created requests session

ahriman.core.http.sync_http_client module

class SyncHttpClient(configuration: Configuration | None = None, section: str | None = None, *, suppress_errors: bool = False)

Bases: LazyLogging

wrapper around requests library to reduce boilerplate

DEFAULT_MAX_RETRIES

(class attribute) default maximum amount of retries

Type:

int

DEFAULT_RETRY_BACKOFF

(class attribute) default retry exponential backoff

Type:

float

DEFAULT_TIMEOUT

(class attribute) default HTTP request timeout in seconds

Type:

int | None

auth

HTTP basic auth object if set

Type:

tuple[str, str] | None

retry

retry policy of the HTTP client

Type:

Retry

suppress_errors

suppress logging of request errors

Type:

bool

timeout

HTTP request timeout in seconds

Type:

int | None

Parameters:
  • configuration (Configuration | None, optional) – configuration instance (Default value = None)

  • section (str | None, optional) – settings section name (Default value = None)

  • suppress_errors (bool, optional) – suppress logging of request errors (Default value = False)

static exception_response_text(exception: RequestException) str

safe response exception text generation

Parameters:

exception (requests.RequestException) – exception raised

Returns:

text of the response if it is not None and empty string otherwise

Return type:

str

static retry_policy(max_retries: int = 0, retry_backoff: float = 0.0) Retry

build retry policy for class

Parameters:
  • max_retries (int, optional) – maximum amount of retries allowed (Default value = 0)

  • retry_backoff (float, optional) – retry exponential backoff (Default value = 0.0)

Returns:

built retry policy

Return type:

Retry

adapters() dict[str, BaseAdapter]

get registered adapters

Returns:

map of protocol and adapter used for this protocol

Return type:

dict[str, BaseAdapter]

headers() dict[str, str]

additional request headers

Returns:

additional request headers defined by class

Return type:

dict[str, str]

make_request(method: Literal['DELETE', 'GET', 'HEAD', 'POST', 'PUT'], url: str, *, headers: dict[str, str] | None = None, params: list[tuple[str, str]] | None = None, data: Any | None = None, json: dict[str, Any] | None = None, files: dict[str, tuple[str, IO[bytes], str, dict[str, str]]] | None = None, stream: bool | None = None, session: Session | None = None, suppress_errors: bool | None = None) Response

perform request with specified parameters

Parameters:
  • method (Literal["DELETE", "GET", "HEAD", "POST", "PUT"]) – HTTP method to call

  • url (str) – remote url to call

  • headers (dict[str, str] | None, optional) – request headers (Default value = None)

  • params (list[tuple[str, str]] | None, optional) – request query parameters (Default value = None)

  • data (Any | None, optional) – request raw data parameters (Default value = None)

  • json (dict[str, Any] | None, optional) – request json parameters (Default value = None)

  • files (dict[str, MultipartType] | None, optional) – multipart upload (Default value = None)

  • stream (bool | None, optional) – handle response as stream (Default value = None)

  • session (requests.Session | None, optional) – session object if any (Default value = None)

  • suppress_errors (bool | None, optional) – suppress logging errors (e.g. if no web server available). If none set, the instance-wide value will be used (Default value = None)

Returns:

response object

Return type:

requests.Response

on_session_creation(session: Session) None

method which will be called on session creation

Parameters:

session (requests.Session) – created requests session

property session: Session

get or create session

Returns:

created session object

Return type:

request.Session

Module contents