bayesline.apiclient.PermanentToTemporaryRedirectTransport#

class bayesline.apiclient.PermanentToTemporaryRedirectTransport(inner: BaseTransport) → None#

Wrap a transport to preserve methods on 301s and HTTPS on redirects.

An HTTP Location on an HTTPS request is upgraded to HTTPS to avoid losing authorization on a scheme downgrade. The wrapped transport is closed when this wrapper is closed.

__init__(inner: BaseTransport) → None#

Methods

__init__(inner)

close()

handle_request(request)

Send a single HTTP request and return a response.

__init__(inner: BaseTransport) → None#
handle_request(request: Request) → Response#

Send a single HTTP request and return a response.

Developers shouldn’t typically ever need to call into this API directly, since the Client class provides all the higher level user-facing API niceties.

In order to properly release any network resources, the response stream should either be consumed immediately, with a call to response.stream.read(), or else the handle_request call should be followed with a try/finally block to ensuring the stream is always closed.

Example usage:

with httpx.HTTPTransport() as transport:
req = httpx.Request(

method=b”GET”, url=(b”https”, b”www.example.com”, 443, b”/”), headers=[(b”Host”, b”www.example.com”)],

) resp = transport.handle_request(req) body = resp.stream.read() print(resp.status_code, resp.headers, body)

Takes a Request instance as the only argument.

Returns a Response instance.

close() → None#