1234567891011121314151617181920212223242526272829 |
- """Provide a compatibility layer for requests.auth.HTTPDigestAuth."""
- import requests
- class _ThreadingDescriptor(object):
- def __init__(self, prop, default):
- self.prop = prop
- self.default = default
- def __get__(self, obj, objtype=None):
- return getattr(obj._thread_local, self.prop, self.default)
- def __set__(self, obj, value):
- setattr(obj._thread_local, self.prop, value)
- class _HTTPDigestAuth(requests.auth.HTTPDigestAuth):
- init = _ThreadingDescriptor('init', True)
- last_nonce = _ThreadingDescriptor('last_nonce', '')
- nonce_count = _ThreadingDescriptor('nonce_count', 0)
- chal = _ThreadingDescriptor('chal', {})
- pos = _ThreadingDescriptor('pos', None)
- num_401_calls = _ThreadingDescriptor('num_401_calls', 1)
- if requests.__build__ < 0x020800:
- HTTPDigestAuth = requests.auth.HTTPDigestAuth
- else:
- HTTPDigestAuth = _HTTPDigestAuth
|