-í ™º‘;csdZ dkZ dkZ dkZdkZdkZdkZdkZdkZdk Z dk Z dk Z ei dƒZ d„Z*ei dƒZ/d„ZBdklZDdfd„ƒYZÝei d eiƒZâei d äeiƒZçei d eiƒZéd Zëei d eíeiƒZðeiZòd„ZdS(s=$Id: default_handler.py,v 1.2 2000/09/09 22:44:06 adamf Exp $Ns%[0-9a-fA-F][0-9a-fA-F]csñd}t|ƒ}g}x°d|jo |jnoŽ ti||ƒ}!|djo"|i||ƒ#Pn$|i|||!t t i ||d|d!dƒƒƒ%|d}q*W&t i |dƒSdS(Niiiis( sislensssnsress _quoteprogssearchsjsappendschrsstringsatoisjoin(sssisressjsn((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/default_handler.pysunquotes  !<s+\([^;?#]*\)\(;[^?#]*\)?\(\?[^#]*\)?\(#.*\)?csU/0ti|ƒt|ƒjo1td‚n 3ttd„tddƒƒSdS(Nsbad pathcs3|i|ƒS(N(srsgroupsi(sisr((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/default_handler.pys3sii(s path_regexsmatchspathslens ValueErrorsmapsrange(spath((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/default_handler.pys split_path/s(scountersdefault_handlercs‰DFddgZHdZKddgZPeiZRd„Z[dZ]d„Zed „Z jd „Z Êd „Z Ód „Z RS( NsgetsheadsDefault HTTP Request Handlers index.htmls default.htmlcs@RS||_Utƒ|_Wtƒ|_Ytƒ|_dS(N(s filesystemsselfscounters hit_counters file_counters cache_counter(sselfs filesystem((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/default_handler.pys__init__Rs ics']^d|i|it|ƒfSdS(Ns<%s (%s hits) at %x>(sselfsIDENTs hit_countersid(sself((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/default_handler.pys__repr__]scsefdSdS(Ni((sselfsrequest((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/default_handler.pysmatchescsYjl|i|ijom|idƒndSnp|iiƒrt|iƒ\}} }}vd|jowt |ƒ}nzx-z|o|ddjo{|d}q‹W}|ii|ƒo ~|o|ddjo;d|iii|f|d<ƒ|id ƒ„dSn‰d}Š|o|ddjo‹|d}nŒxQ|iDŒ]C} || } Ž|ii| ƒo| }d}‘PnqfW’| o“|id ƒ”dSnn3–|ii|ƒ o—|id ƒ˜dSnš|ii|ƒti}œtt|iƒ} žd}Ÿ| oj ti d ƒ} ¡| oJ¢y3£t"i#| ƒ} ¤| |jo ¥d}nWn ¦§nXnn©d}«| o¬t%i&| ƒ}n®y ¯|ii|ƒti'}Wn!°±|id ƒ²dSnX´|o|oHµ||jo4¶d |_)·|i*ƒ¸|i+iƒ¹dSnnºy»|ii,|d ƒ}Wn-¼t.j o½|id ƒ¾dSnXÀt%i/|ƒ|d<Á||d<Â|i0||ƒÄ|idjoÅ|i1|i2|ƒƒnÇ|i3iƒÈ|i*ƒdS(Nis%is/iiÿÿÿÿs http://%s/%s/sLocationi-i”ii0srbs Last-ModifiedsContent-Lengthsget(4srequestscommandsselfsvalid_commandsserrors hit_counters increments split_pathsurispathsparamssquerysfragmentsunquotes filesystemsisdirschannelsservers server_namesfoundsdirectory_defaultssdefaultspsisfilesstatsST_SIZEs file_lengths get_headersIF_MODIFIED_SINCEsheadersimss length_matchsgroupslengthsstringsatoisims_dates http_datesparse_http_datesST_MTIMEsmtimes reply_codesdones cache_countersopensfilesIOErrorsbuild_http_datesset_content_typespushsdefault_file_producers file_counter(sselfsrequestsfragmentsmtimesfilespathsquerys file_lengthsims_datesdefaultsimsspslengthsparamssfounds length_match((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/default_handler.pyshandle_requestjsŠ                      csZÊËtit|ƒƒ}Ìtii|ƒoÍti||d%ss(s producersssimple_producersstatus_handlers html_reprsselfs hit_counters file_counters cache_counter(sself((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/default_handler.pysstatusÓs( svalid_commandssIDENTsdirectory_defaultss producerss file_producersdefault_file_producers__init__s hit_counters__repr__smatchshandle_requestsset_content_typesstatus(((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/default_handler.pysdefault_handlerDs      ` sAccept: \(.*\)s;If-Modified-Since: \([^;]+\)\(\(; length=\([0-9]+\)$\)\|$\)sUser-Agent: \(.*\)sA-Za-z0-9'()+_,./:=?-s7Content-Type: \([^;]+\)\(\(; boundary=\([%s]+\)$\)\|$\)cs[òóti|dƒ}ôti|dƒ}õ||joö||dSnødSdS(Ns/s.is(sstringsrfindspathsdirsepsdotsep(spathsdirsepsdotsep((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/default_handler.pys get_extensionòs (sRCS_IDsossregexs posixpathsstatsstringstimes http_dates http_serversmime_type_tablesstatus_handlers producersscompiles _quoteprogsunquotes path_regexs split_pathscountersdefault_handlerscasefoldsACCEPTsIF_MODIFIED_SINCEs USER_AGENTsboundary_charss CONTENT_TYPEs get_headers get_extension(sunquotes split_pathsstatsstringsIF_MODIFIED_SINCEsmime_type_tables _quoteprogsACCEPTs producerss http_dates USER_AGENTsregexsboundary_charss posixpaths path_regexsRCS_IDscountersdefault_handlers http_servers CONTENT_TYPEstimes get_extensionsoss get_headersstatus_handler((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/default_handler.pys?s4              ™