- ;csdZdZ!dkZ"dkZ#dkZ$dkZ%dkZ'y(dklZWn)*dklZnX+y(,dk Z -e i Z .dZ Wn/0dZ nX2dk Z 3dkZ4dkZ6eiZ7eiZ8eiZ:eideiZ@hdd<d d <d d <d d<dd<dd<dd<ed<dd<ed<dd<dd s1.03N(sStringIOiisContent-Length: \([0-9]+\)sCONTENT_LENGTHsContent-Lengths CONTENT_TYPEs Content-Types HTTP_REFERERsReferersHTTP_USER_AGENTs User-Agents HTTP_ACCEPTsAcceptsHTTP_ACCEPT_CHARSETsAccept-CharsetsHTTP_ACCEPT_LANGUAGEsAccept-LanguagesHostsCONNECTION_TYPEs ConnectionsPragmasHTTP_AUTHORIZATIONs Authorizations HTTP_COOKIEsCookies bobo_handlercshUdZVXeedZldZsdZdZdZdZdZRS(spublishes a module via bobocsXY||_Z||_[|io\|i|_n]ti|_b| ocd|i}n&d|ddjoe|d }nf||_hd|i}it i ||_ dS(Ns/%sis/s%s.*( smodulesselfsdebugs module_mtimes last_reloadscountershitssuri_bases__name__s uri_regexsregexscompile(sselfsmodulesuri_basesdebugs uri_regex((sS/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/contrib/bobo_handler.pys__init__Xs     csGlm|i}n|ii|t|jo odSnqdSdS(Nii(srequestsurisselfs uri_regexsmatchslen(sselfsrequestsuri((sS/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/contrib/bobo_handler.pysmatchls " c sWstt|i\}}} }ux-u|o|ddjov|d}q'Wxd|joyt|}n{|i i }| o| d} nh|_ t i |i|i d<d|iii|i d<|iii|i d<|d |i d <|i|i d <| |i d <y't i||iddd}Wnd }nX||i d<d|i d<|iid|i d<|iid|i d<x|iD]}t i|dd\}}t i|}ti|o*t|o||i t|Bobo Handlers(s producersssimple_producersintsselfshits(sself((sS/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/contrib/bobo_handler.pysstatuss( s__doc__sNones__init__smatchshandle_requestscontinue_requests_continue_requests module_mtimesstatus(((sS/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/contrib/bobo_handler.pys bobo_handlerUs   6 - sinput_collectorcs&dZdZdZRS(s'gathers input for put and post requestscs||_||_t|_tt|i|_|i o|i ddSnt i |i|_dS(Ni( shandlersselfsrequestsStringIOsdatas get_headersCONTENT_LENGTHsheadersclserrorsstringsatoi(sselfshandlersrequest((sS/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/contrib/bobo_handler.pys__init__s   cs|ii||ii|ijom|iid|i}|i}|ii i d |` |` |i |i|ndS(Nis ( sselfsdataswritestellsclsseekshandlershsrequestsrschannelsset_terminatorscontinue_request(sselfsdatashsr((sS/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/contrib/bobo_handler.pyscollect_incoming_datas    (s__doc__s__init__scollect_incoming_data(((sS/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/contrib/bobo_handler.pysinput_collectors  (s__doc__s __version__scgi_module_publisherssyssregexsstringsoss cStringIOsStringIOsthreads allocate_locksmutexsTHREADSscountersdefault_handlers producerss split_pathsunquotes get_headerscompilescasefoldsCONTENT_LENGTHsNones header2envsitemsskeysvalueslowers bobo_handlersinput_collector(sunquotes split_pathscgi_module_publishersstringsinput_collectors producersskeysregexssyssthreadsStringIOs bobo_handlerscountersdefault_handlersvaluesmutexs header2envsCONTENT_LENGTHsTHREADSs __version__soss get_header((sS/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/contrib/bobo_handler.pys?s>                u