HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/twisted/web/_auth/__pycache__/digest.cpython-310.pyc
o

�b_�@sBdZddlmZddlmZddlmZee�Gdd�d��ZdS)zg
Implementation of RFC2617: HTTP Digest Authentication

@see: U{http://www.faqs.org/rfcs/rfc2617.html}
�)�implementer)�credentials)�ICredentialFactoryc@s,eZdZdZdZdd�Zdd�Zdd�Zd	S)
�DigestCredentialFactoryzp
    Wrapper for L{digest.DigestCredentialFactory} that implements the
    L{ICredentialFactory} interface.
    sdigestcCst�||�|_dS)zN
        Create the digest credential factory that this object wraps.
        N)rr�digest)�self�	algorithm�authenticationRealm�r
�:/usr/lib/python3/dist-packages/twisted/web/_auth/digest.py�__init__s
�z DigestCredentialFactory.__init__cCs|j�|��j�S)aA
        Generate the challenge for use in the WWW-Authenticate header

        @param request: The L{IRequest} to with access was denied and for the
            response to which this challenge is being generated.

        @return: The L{dict} that can be used to generate a WWW-Authenticate
            header.
        )r�getChallenge�getClientAddress�host)r�requestr
r
rr
#s
z$DigestCredentialFactory.getChallengecCs|j�||j|��j�S)z�
        Create a L{twisted.cred.credentials.DigestedCredentials} object
        from the given response and request.

        @see: L{ICredentialFactory.decode}
        )r�decode�methodrr)r�responserr
r
rr/s�zDigestCredentialFactory.decodeN)�__name__�
__module__�__qualname__�__doc__�schemerr
rr
r
r
rrsrN)r�zope.interfacer�twisted.credr�twisted.web.iwebrrr
r
r
r�<module>s