HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
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