§
    Ètºf_  ã                   ój   — d Z ddlmZ ddlmZ ddlmZ  ee¦  «         G d„ d¦  «        ¦   «         ZdS )zg
Implementation of RFC2617: HTTP Digest Authentication

@see: U{http://www.faqs.org/rfcs/rfc2617.html}
é    )Úimplementer)Úcredentials)ÚICredentialFactoryc                   ó(   — e Zd ZdZdZd„ Zd„ Zd„ ZdS )ÚDigestCredentialFactoryzp
    Wrapper for L{digest.DigestCredentialFactory} that implements the
    L{ICredentialFactory} interface.
    s   digestc                 ó:   — t          j        ||¦  «        | _        dS )zN
        Create the digest credential factory that this object wraps.
        N)r   r   Údigest)ÚselfÚ	algorithmÚauthenticationRealms      úW/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/web/_auth/digest.pyÚ__init__z DigestCredentialFactory.__init__   s"   € õ "Ô9ØÐ*ñ
ô 
ˆŒˆˆó    c                 ód   — | 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
   Úrequests     r   r   z$DigestCredentialFactory.getChallenge#   s)   € ð Œ{×'Ò'¨×(@Ò(@Ñ(BÔ(BÔ(GÑHÔHÐHr   c                 ór   — | 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Úmethodr   r   )r
   Úresponser   s      r   r   zDigestCredentialFactory.decode/   s6   € ð Œ{×!Ò!Ø�g”n g×&>Ò&>Ñ&@Ô&@Ô&Eñ
ô 
ð 	
r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úschemer   r   r   © r   r   r   r      sU   € € € € € ðð ð
 €Fð
ð 
ð 
ð
Ið 
Ið 
Ið	
ð 	
ð 	
ð 	
ð 	
r   r   N)r   Úzope.interfacer   Útwisted.credr   Útwisted.web.iwebr   r   r   r   r   ú<module>r"      s‘   ðð
ð ð 'Ð &Ð &Ð &Ð &Ð &à $Ð $Ð $Ð $Ð $Ð $Ø /Ð /Ð /Ð /Ð /Ð /ð €ÐÑ Ô ð%
ð %
ð %
ð %
ð %
ñ %
ô %
ñ !Ô ð%
ð %
ð %
r   