session

Requests session configured with all accepted scheme adapters.

Classes

EnforceUnusedAdapter

The Base Transport Adapter

CondaSessionType

Takes advice from https://github.com/requests/requests/issues/1871#issuecomment-33327847

CondaSession

A Requests session.

CondaHttpAuth

Base class that all auth implementations derive from

Functions

get_channel_name_from_url(→ str | None)

Given a URL, determine the channel it belongs to and return its name.

get_session(url)

Function that determines the correct Session object to be returned

get_session_storage_key(→ str)

Function that determines which storage key to use for our CondaSession object caching

Attributes

RETRIES

CONDA_SESSION_SCHEMES

RETRIES = 3
CONDA_SESSION_SCHEMES
class EnforceUnusedAdapter

Bases: conda.gateways.connection.BaseAdapter

The Base Transport Adapter

send(request, *args, **kwargs)

Sends PreparedRequest object. Returns Response object.

Parameters
  • request -- The PreparedRequest being sent.

  • stream -- (optional) Whether to stream the request content.

  • timeout (float or tuple) -- (optional) How long to wait for the server to send data before giving up, as a float, or a (connect timeout, read timeout) tuple.

  • verify -- (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use

  • cert -- (optional) Any user-provided SSL certificate to be trusted.

  • proxies -- (optional) The proxies dictionary to apply to the request.

abstract close()

Cleans up adapter specific items.

get_channel_name_from_url(url: str) str | None

Given a URL, determine the channel it belongs to and return its name.

get_session(url: str)

Function that determines the correct Session object to be returned based on the URL that is passed in.

get_session_storage_key(auth) str

Function that determines which storage key to use for our CondaSession object caching

class CondaSessionType

Bases: type

Takes advice from https://github.com/requests/requests/issues/1871#issuecomment-33327847 and creates one Session instance per thread.

__call__(**kwargs)

Call self as a function.

class CondaSession(auth: AuthBase | tuple[str, str] | None = None)

Bases: conda.gateways.connection.Session

A Requests session.

Provides cookie persistence, connection-pooling, and configuration.

Basic Usage:

>>> import requests
>>> s = requests.Session()
>>> s.get('https://httpbin.org/get')
<Response [200]>

Or as a context manager:

>>> with requests.Session() as s:
...     s.get('https://httpbin.org/get')
<Response [200]>
class CondaHttpAuth

Bases: conda.gateways.connection.AuthBase

Base class that all auth implementations derive from

__call__(request)
static _apply_basic_auth(request)
static add_binstar_token(url)
static handle_407(response, **kwargs)

Prompts the user for the proxy username and password and modifies the proxy in the session object to include it.

This method is modeled after
  • requests.auth.HTTPDigestAuth.handle_401()

  • requests.auth.HTTPProxyAuth

  • the previous conda.fetch.handle_proxy_407()

It both adds 'username:password' to the proxy URL, as well as adding a 'Proxy-Authorization' header. If any of this is incorrect, please file an issue.