watcherclient.common.httpclient module

class watcherclient.common.httpclient.HTTPClient(endpoint, **kwargs)[source]

Bases: VersionNegotiationMixin

json_request(method, url, **kwargs)[source]
log_curl_request(method, url, kwargs)[source]
static log_http_response(resp, body=None)[source]
raw_request(method, url, **kwargs)[source]
class watcherclient.common.httpclient.SessionClient(os_infra_optim_api_version, api_version_select_state, max_retries, retry_interval, endpoint, **kwargs)[source]

Bases: VersionNegotiationMixin, LegacyJsonAdapter

HTTP client based on Keystone client session.

json_request(method, url, **kwargs)[source]
raw_request(method, url, **kwargs)[source]
class watcherclient.common.httpclient.VerifiedHTTPSConnection(host, port, key_file=None, cert_file=None, ca_file=None, timeout=None, insecure=False)[source]

Bases: HTTPSConnection

httplib-compatible connection using client-side SSL authentication

:see http://code.activestate.com/recipes/

577548-https-httplib-client-connection-with-certificate-v/

connect()[source]

Connect to a host on a given (SSL) port.

If ca_file is pointing somewhere, use it to check Server Certificate.

Redefined/copied and extended from httplib.py:1105 (Python 2.6.x). This is needed to pass cert_reqs=ssl.CERT_REQUIRED as parameter to ssl.wrap_socket(), which forces SSL to check server certificate against our client certificate.

static get_system_ca_file()[source]

Return path to system default CA file.

class watcherclient.common.httpclient.VersionNegotiationMixin[source]

Bases: object

negotiate_version(conn, resp)[source]

Negotiate the server version

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

param conn: A connection object param resp: The response object from http request

watcherclient.common.httpclient.get_server(endpoint)[source]

Extract and return the server & port that we’re connecting to.

watcherclient.common.httpclient.with_retries(func)[source]

Wrapper for _http_request adding support for retries.