+
    Dfj_                     X    R t ^ RIHt ^ RIHt ^ RIHt ]! ]4       ! R R4      4       tR# )zg
Implementation of RFC2617: HTTP Digest Authentication

@see: U{http://www.faqs.org/rfcs/rfc2617.html}
)implementer)credentials)ICredentialFactoryc                   :   a  ] tR t^t o RtRtR tR tR tRt	V t
R# )DigestCredentialFactoryzd
Wrapper for L{digest.DigestCredentialFactory} that implements the
L{ICredentialFactory} interface.
s   digestc                <    \         P                  ! W4      V n        R# )z>
Create the digest credential factory that this object wraps.
N)r   r   digest)self	algorithmauthenticationRealms   &&&:/usr/lib/python3/dist-packages/twisted/web/_auth/digest.py__init__ DigestCredentialFactory.__init__   s     "99
    c                h    V P                   P                  VP                  4       P                  4      # )a  
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   $DigestCredentialFactory.getChallenge#   s(     {{''(@(@(B(G(GHHr   c                ~    V P                   P                  WP                  VP                  4       P                  4      # )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   DigestCredentialFactory.decode/   s3     {{!!nng&>&>&@&E&E
 	
r   )r   N)__name__
__module____qualname____firstlineno____doc__schemer   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s&     
 F

I	
 	
r   r   N)r   zope.interfacer   twisted.credr   twisted.web.iwebr   r    r   r   <module>r(      s4   
 ' $ /  %
 %
 !%
r   