ironicclient.common.http module

class ironicclient.common.http.SessionClient(os_ironic_api_version: str | list[str], api_version_select_state: str, max_retries: int | None, retry_interval: int | None, **kwargs: Any)[source]

Bases: VersionNegotiationMixin, LegacyJsonAdapter

HTTP client based on Keystone client session.

json_request(method: str, url: str, **kwargs: Any) tuple[Response, dict[str, Any] | list[Any] | bytes | None][source]
raw_request(method: str, url: str, **kwargs: dict[str, str]) Response[source]
class ironicclient.common.http.VersionNegotiationMixin[source]

Bases: object

api_version_select_state: str
negotiate_version(conn: Session, resp: Response | None) str[source]

Negotiate the server version

Assumption: Called after receiving a 406 error when doing a request.

Parameters:
  • conn – A connection object

  • resp – The response object from http request

os_ironic_api_version: str | list[str]
ironicclient.common.http.get_server(url: str | None) tuple[str | None, str | None][source]

Extract and return the server & port.

ironicclient.common.http.with_retries(func: Callable[[...], _RT]) Callable[[...], _RT][source]

Wrapper for _http_request adding support for retries.