Ńň
\ŻJc @ sĐ d d k l Z d d k l Z d d k l Z d d k l Z d d k Z d d k l Z d d k l Z d Z
d Z d Z e i
i e e d Z e i
i e e d Z e i
i e e d S( i˙˙˙˙( t REQUEST_METHOD( t CONTENT_TYPE( t
USER_AGENT( t WWW_AUTHENTICATEN( t IRequestClassifier( t IChallengeDecidert OPTIONSt PROPFINDt PROPPATCHt MKCOLt LOCKt UNLOCKt TRACEt DELETEt COPYt MOVEs2 Microsoft Data Access Internet Publishing Providert WebDrives Zope External Editort WebDAVFSt Goliatht neont davlibt wsAPIs Microsoft-WebDAVc C s t | } | t j o d St | } | o0 x- t D]! } | i | d j o d Sq8 Wn | d j o t | d j o d Sn d S( sk Returns one of the classifiers 'dav', 'xmlpost', or 'browser',
depending on the imperative logic belowt davi˙˙˙˙t POSTs text/xmlt xmlpostt browser( R t _DAV_METHODSR t _DAV_USERAGENTSt findR ( t environt request_methodt useragentt agent( ( s: /usr/lib/python2.6/site-packages/repoze/who/classifiers.pyt default_request_classifier# s
c C s
| i d S( Ns 401 ( t
startswith( R t statust headers( ( s: /usr/lib/python2.6/site-packages/repoze/who/classifiers.pyt default_challenge_decider4 s c C sb | i d p t St | } d | j o t S| i d } | d j o | i d St S( s Don't challenge for pre-challenged responses.
o Assume responsese with 'WWW-Authenticate' or an HTML content type
are pre-challenged.
s 401 s WWW-Authenticates Content-Types text/htmlN( R" t Falset dictt gett Nonet True( R R# R$ t h_dictt ct( ( s: /usr/lib/python2.6/site-packages/repoze/who/classifiers.pyt passthrough_challenge_decider8 s
(
R R R R R
R R R
R R ( s2 Microsoft Data Access Internet Publishing ProviderR s Zope External EditorR R R R R s Microsoft-WebDAV( t paste.httpheadersR R R R t zope.interfacet zopet repoze.who.interfacesR R R R R! t interfacet directlyProvidesR% R- ( ( ( s: /usr/lib/python2.6/site-packages/repoze/who/classifiers.pyt