- ;c s dZdkZdkZdkZdkZdkZdkZdkZdkZdk Z dk Z dk Z dk Z e i Z eiedZ eieieidZ$dkZ'eidZ,dZGdfdYZTdeifd YZed eifd YZeid d dddddddg dZdfdYZdZ  e Z!eidei"Z#eidei"Z$eidei"Z%eidei"Z&eidZ'ddZ("d Z)*e*d!jox+ei+dZ,,ei-ei+dZ.-ee.Z//e0i1e2i3e4d"Z53e/i6e54ei7ndS(#s?$Id: http_server.py,v 1.1.1.1 1999/01/08 06:58:44 rushing Exp $Niis+\([^;?#]*\)\(;[^?#]*\)?\(\?[^#]*\)?\(#.*\)?csU,-ti|t|jo.tdn 0ttdtddSdS(Nsbad pathcs0|i|S(N(srsgroupsi(sisr((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys0sii(s path_regexsmatchspathslens ValueErrorsmapsrange(spath((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys split_path,ssrequestcsGIdZLdZRS(NicsCLM||_O||_P||_Q||_R||_dS(N(schannelsselfsrequestsheadersuriscommand(sselfschannelsrequestsheadersuriscommand((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys__init__Ls     (s bytes_outs__init__(((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pysrequestGs s http_channelcs]TWdZ[dZ]dZ^dZbdZdeZfdZhdZwdZ {dZ dZ eZ dZ d Zd Zd Zd Zd ZdZddZdZdZ dZdZdZ"dedZ1ddeddZDhddfd<ddfd<d d!fd"<d#d$fd%<d&d'fd(<d)d*fd+<d,d-fd.<d/d0fd1<d2d3fd4<d5d6fd7<d8d9fd:<d;d<fd=<d>d?fd@<dAdBfdC<dDdEfdF<dGdHfdI<dJdKfdL<dMdNfdO|i?d|_ndS(Nscodesmessagesexplains i(sselfs responsesscodesshortslongsmessagesNonessent_reply_codesresponsesversionsrespsDEFAULT_ERROR_MESSAGEsemspushsclosesclose_when_dones expect_reset( sselfscodesrequestsclosesmessagesversionsemsrespslongsshort((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys send_reply1s  (  sOKs#Request fulfilled, document followssCreatedsDocument created, URL followsisAccepteds/Request accepted, processing continues off-lineisPartial informationsRequest fulfilled from cacheis No responses"Request fulfilled, nothing followsisMoveds(Object moved permanently -- see URI listi-sFounds(Object moved temporarily -- see URI listi.sMethods'Object moved -- see Method and URL listi/s Not modifieds)Document has not changed singe given timei0s Bad requests(Bad request syntax or unsupported methodis Unauthorizeds*No permission -- see authorization schemesisPayment requireds"No payment -- see charging schemesis Forbiddens0Request forbidden -- authorization will not helpis Not foundsNothing matches the given URIisInternal errorsServer got itself in troubleisNot implementeds&Server does not support this operationisService temporarily overloadeds8The server cannot process the request due to a high loadisGateway timeouts4The gateway server did not receive a timely responsei(sac_out_buffer_sizes expect_resetsbytes_ins bytes_outssent_reply_codesNoneshandlersrequest_numbers__init__sreadablessendsrecvscurrent_handlerscollect_incoming_datasfound_terminators handle_errors log_requestscloses find_handlersprocess_requestsresponsesdate_time_stringslog_date_stringslog_lineslogs build_headersgenerated_content_headers send_replys responses(((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys http_channelTs8                     s http_servercseggZieZkeZldeZndZodZqddZeZ dZ dZ dZ dZ d Zd Zd Zd ZRS( NsHTTP Server (V%s)iiPc sqrtiit ostdntt|tdjouti|}nv||_wt i i |xd|_ yd|_zd|_{d|_|d|_}g|_~|ititiy?|iititi|iititidBWn nX|id|f|id|ii\}}t|_ ||_!t"i#i$d|i%t&i't&i&tt|t(|i)ft&i&|_*g|_+dS(Ns!root argument must be a directorysiiisE%s started at %s Hostname: %s root:%s Port:%d CGI directories:%s (,sosspathsisdirsroots TypeErrorstypesportsstringsatoisselfsasyncores dispatchers__init__s total_hitsstotal_requestss cache_hitssfiles_delivereds cgi_bin_hitsschildrens create_socketssocketsAF_INETs SOCK_STREAMs setsockopts SOL_SOCKETs SO_REUSEADDRs getsockoptsbindslistens getsocknameshostsHOSTNAMEs server_names server_portssyssstdoutswrites SERVER_IDENTstimesctimesreprs cgi_bin_dirss start_times extensions(sselfsportshost((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys__init__qs4       '  Dcs-|i||_|i||_dS(N(sselfsbytes_ins bytes_out(sselfsbytes_ins bytes_out((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pysupdate_throughputscs dS(N((sself((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys handle_readscs|iSdS(N(sselfs accepting(sself((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pysreadablescs dS(N((sself((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pyshandle_connectscsE|i\}}|id|_|i|||dS(Ni(sselfsacceptsconnsaddrs total_hitss channel_class(sselfsaddrsconn((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys handle_acceptscs|iid|dS(Ni(sselfs extensionssinserts extension(sselfs extension((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys add_extensionscs|ii|dS(N(sselfs extensionssremoves extension(sselfs extension((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pysremove_extensionscsd}tid|id|idtt|idd|i d|i d||i d ||i d |i d ttid |id |i t|id t|i fdddgti|iddgSdS(Ncs titi|SdS(N(sstringsjoinsmstatuss english_bytessn(sn((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys nice_bytesss

%s

s
Listening on port %ds
Logging on: %sss

Extension Lists

  • (s nice_bytessmstatusslines_producersselfs SERVER_IDENTsportssanitizesreprsloggers total_hitssfiles_deliveredsbytes_ins bytes_outs cache_hitsslensasyncores socket_mapstotal_requestssfloats html_reprss extensions(sselfs nice_bytes((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pysstatuss (s cgi_bin_dirss http_channels channel_classsVERSION_STRINGs SERVER_IDENTsbytes_ins bytes_outs__init__sNonesloggersupdate_throughputs handle_readsreadableshandle_connects handle_accepts add_extensionsremove_extensionsstatus(((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys http_serveres       .        ssError responsesss

    Error response

    s

    Error code %(code)d.s

    Message: %(message)s.s2

    Error code explanation: %(code)s = %(explain)s.ss s file_producercs)dZdZdZRS(Ncs+d|_||_||_dS(Ni(sselfsdoneschannelsfile(sselfschannelsfile((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys__init__s  cs|i SdS(N(sselfsdone(sself((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pysreadyscs|io dSnz|iid}| oR|ii|`|ii}|i d|_ d|_dSn|SdS(Nsi i( sselfsdonesfilesreadsdatascloseschannelsserversscssfiles_delivered(sselfsdatasscs((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pysmores      (s__init__sreadysmore(((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys file_producers  cstioti}n ti}|djo d}nd}| }t|d\}}t|d\}}|od||fSn d||fSdS(Niiii<s -%02d%02ds +%02d%02d( stimesdaylightsaltzonestzstimezonesnegsdivmodshsremsm(stzshsnegsremsm((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pyscompute_timezone_for_logs      sAccept: \(.*\)s;If-Modified-Since: \([^;]+\)\(\(; length=\([0-9]+\)$\)\|$\)sUser-Agent: \(.*\)sContent-Type: \(.*\)s0\([^ ]+\) \([^ ]+\)\(\( HTTP/\([0-9.]+\)\)$\|$\)icsXxD|D]9}|i|t|jo|i|Snq W dSdS(Ns(slinesslineshead_regsmatchslensgroup(shead_regslinessgroupsline((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys get_headers  cs~"#ti|t|joX$tido%tid}n 't}(tidtid|fSndS(Niiii(sREQUESTsmatchsrslensgroupsversionsNone(srsversion((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys crack_request"s  s__main__sroot(8sRCS_IDsosssocketstbsasyncoresasynchatsstatsstringssyssmime_type_tablestimes http_datesmstatusssanitizessplitsVERSION_STRINGs gethostbyaddrs gethostbynames gethostnamesHOSTNAMEsregexscompiles path_regexs split_pathsrequests async_chats http_channels dispatchers http_servers joinfieldssDEFAULT_ERROR_MESSAGEs file_producerscompute_timezone_for_logs tz_for_logscasefoldsACCEPTsIF_MODIFIED_SINCEs USER_AGENTs CONTENT_TYPEsREQUESTs get_headers crack_requests__name__sargvsrootsatoisportshssdefault_extensionsdefault_with_post_extensionsfilesyss os_filesystemsoptssdes add_extensionsloop(%s split_pathsstatsdesasyncoresstringsIF_MODIFIED_SINCEsDEFAULT_ERROR_MESSAGEscompute_timezone_for_logsmime_type_tables tz_for_logsREQUESTsrequestsACCEPTssyss http_dates USER_AGENTs http_channelsportsregexsVERSION_STRINGsasynchatssockets path_regexshssossRCS_IDsHOSTNAMEsmstatuss crack_requestsroots http_servers CONTENT_TYPEstimestbs file_producers get_headerssanitize((sN/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/old/http_server.pys? sT              %   o'