qbraid_core.Session
- class qbraid_core.Session(*args, base_url=None, headers=None, auth_headers=None, **kwargs)
Custom session with handling of request urls and authentication.
This is a child class of
requests.Session. It handles authentication with custom headers, and retries on specific 5xx errors.POSTandPATCHare retried on those only when they carry a non-emptyIdempotency-Keyheader or are sent insideretry_non_idempotent().Redirects are not followed unless a caller passes
allow_redirects=True. When a caller does, any hop to another scheme, host or port drops every credential header, and a hop that would replay a request body (307/308) to another origin is refused.- __init__(*args, base_url=None, headers=None, auth_headers=None, **kwargs)
Initialize custom session with default base_url and auth_headers.
- Parameters:
base_url (optional, str) – Base URL to prepend to all requests.
headers (optional, dict) – Dictionary of headers to include in all requests.
auth_headers (optional, dict) – Dictionary of authorization headers to include in all requests. Values will be masked in error messages.
Methods
__init__(*args[, base_url, headers, ...])Initialize custom session with default base_url and auth_headers.
add_user_agent(user_agent)Updates the User-Agent header with additional information.
close()Closes all adapters and as such the session
delete(url, **kwargs)Sends a DELETE request.
get(url[, params])Send a GET request.
get_adapter(url)Returns the appropriate connection adapter for the given URL.
get_redirect_target(resp)Receives a Response.
head(url, **kwargs)Sends a HEAD request.
initialize_retry([total, connect, ...])Set the session retry policy.
merge_environment_settings(url, proxies, ...)Check the environment and merge it with some settings.
mount(prefix, adapter)Registers a connection adapter to a prefix.
options(url, **kwargs)Send an OPTIONS request.
patch(url[, data])Sends a PATCH request.
post(url[, data, json])Sends a POST request.
prepare_request(request)Constructs a
PreparedRequestfor transmission and returns it.put(url[, data])Sends a PUT request.
rebuild_auth(prepared_request, response)Remove credential headers before a redirect hop to another origin.
rebuild_method(prepared_request, response)When being redirected we may want to change the method of the request based on certain specs or browser behavior.
rebuild_proxies(prepared_request, proxies)This method re-evaluates the proxy configuration by considering the environment variables.
request(method, url, *args, **kwargs)Construct, prepare, and send a
Request.resolve_redirects(resp, req[, stream, ...])Receives a Response.
send(request, **kwargs)Send a prepared request, unless it is a redirect hop marked as refused.
should_strip_auth(old_url, new_url)Strip credentials on any redirect that leaves the original origin.
Attributes
base_urlReturn the base URL.
headersA case-insensitive dictionary of headers to be sent on each
Requestsent from thisSession.authDefault Authentication tuple or object to attach to
Request.proxiesDictionary mapping protocol or protocol and host to the URL of the proxy (e.g. {'http': 'foo.bar:3128', 'http://host.name': 'foo.bar:4012'}) to be used on each
Request.hooksEvent-handling hooks.
paramsDictionary of querystring data to attach to each
Request.streamStream response content default.
verifySSL Verification default.
certSSL client certificate default, if String, path to ssl client cert file (.pem).
max_redirectsMaximum number of redirects allowed.
trust_envTrust environment settings for proxy configuration, default authentication and similar.
cookiesA CookieJar containing all currently outstanding cookies set on this session.
adapters