;ò ˜B‘Gc@sdkZdkZdkZdkZdkZdklZdkZdZdZ dZ dZ dZ dZ dZdZdZdZd Zd Zd Zd Zd ZeZegZdZdZdZdZdZdZdZdZ dZ!dZ"d„Z"dfd„ƒYZ#d„Z$d„Z%d„Z&da'd„Z(e)a*e)a+dfd„ƒYZ,e,Z-d„Z.d„Z/e0djo e/ƒndS(N(sStringIOiiiiiiiiii i i s fcgi.errorcCs.tddƒ}|i|dƒ|iƒdS(sAppend a string to /tmp/errs/tmp/errsa+s N(sopenserrfswritesmsgsclose(smsgserrf((s+/mnt/gmirror/ports/www/py-fcgi/work/fcgi.pyserrorUssrecordcBs)tZdZd„Zd„Zd„ZRS(s"Class representing FastCGI recordscCs(t|_t|_t|_d|_dS(Ns(sFCGI_VERSION_1sselfsversionsFCGI_UNKNOWN_TYPEsrecTypesFCGI_NULL_REQUEST_IDsreqIdscontent(sself((s+/mnt/gmirror/ports/www/py-fcgi/work/fcgi.pys__init___s   c CsKtt|idƒƒ}|d|d|df\|_|_} |dd>|d|dd>|df\|_ } d |_ xGt |i ƒ| jo0|i| t |i ƒƒ} |i | |_ qƒW| djo|i| ƒ}n|i }|itjo<t|dƒd>t|dƒ|_t|dƒ|_n |itjot|dƒ|_nâ|itjp |itjoSh|_d}x¯|t |ƒjo)t||ƒ\}}}||i||dd >|dd>|d|_t|dƒ|_ndS( Niiiiiiiisii( smapsordssocksrecvsssselfsversionsrecTypes paddingLengthsreqIds contentLengthscontentslensdataspaddingscsFCGI_BEGIN_REQUESTsrolesflagssFCGI_UNKNOWN_TYPEs unknownTypesFCGI_GET_VALUESs FCGI_PARAMSsvaluesspossreadPairsnamesvaluesFCGI_END_REQUESTsbs appStatussprotocolStatus( sselfssockscsnamesposspaddingsssbsvalues contentLengthsdatas paddingLength((s+/mnt/gmirror/ports/www/py-fcgi/work/fcgi.pys readRecordfs6*5   %  1c Cs÷|i}|itjo=t|id?ƒt|id@ƒt|iƒdd}n|itjot|iƒdd}nÝ|it jp |it jo>d}x³|i i ƒD] }|t||i |ƒ}q·Wn|itjon|i}t|d?d@ƒt|d?d@ƒt|d?d@ƒt|d@ƒ}|t|iƒd d}nt|ƒ}|dd d@}||}|i|i|id?|id@|d?|d@|d g}titt|ƒdƒ}|i|||dƒdS( Niiÿisisiiiiÿÿi(sselfscontentsrecTypesFCGI_BEGIN_REQUESTschrsrolesflagssFCGI_UNKNOWN_TYPEs unknownTypesFCGI_GET_VALUESs FCGI_PARAMSsvaluesskeyssis writePairsFCGI_END_REQUESTs appStatussvsprotocolStatusslenscLenseLenspadLensversionsreqIdshdrsstrings joinfieldssmapssockssend( sselfssockshdrsispadLenscontentscLenseLensv((s+/mnt/gmirror/ports/www/py-fcgi/work/fcgi.pys writeRecord†s( = " F  :(s__name__s __module__s__doc__s__init__s readRecords writeRecord(((s+/mnt/gmirror/ports/www/py-fcgi/work/fcgi.pysrecord]s   cCs-t||ƒ}|d}|d@oVtt|||d!ƒ}|d}|d@d>|dd>|dd>|d }nt||ƒ}|d}|d@oVtt|||d!ƒ}|d}|d@d>|dd>|dd>|d }n||||!||||||!|||fSdS( Nii€iiiiiii(sordssspossnameLensmapsbsvalueLen(ssspossvalueLensbsnameLen((s+/mnt/gmirror/ports/www/py-fcgi/work/fcgi.pysreadPairªs $2 $2cCsþt|ƒ}|djot|ƒ}nKtd|d?d@Bƒt|d?d@ƒt|d?d@ƒt|d@ƒ}t|ƒ}|djo|t|ƒ}nO|td|d?d@Bƒt|d?d@ƒt|d?d@ƒt|d@ƒ}|||SdS(Ni€iiÿii(slensnameslschrsssvalue(snamesvalueslss((s+/mnt/gmirror/ports/www/py-fcgi/work/fcgi.pys writePair¸s  J  NcCsš|itjo†t|_h}hdt<dt<dt<}x9|i i ƒD](}|i |ƒo||||FCGI TestApp s

FCGI TestApp

srequest count = %d
spid = %s
sCONTENT_LENGTHs#
POST data (%s):

s    %-15s :  %s
s
s


s%-20s :  %s
s


s ssHContent-length: %s Content-type: text/html Cache-Control: no-cache s tracebackswsfile(scountersisFCGIsAcceptsreqsgetFieldStoragesfssstringsatoisvaluessizesdocsappendsossgetpidsenvshas_keysclskeysssortsksvalstypesjoinsoutswriteslensFinishs tracebacksopensfs print_exc( sfssreqsvalsclskeyssdocskscounters tracebacksfssize((s+/mnt/gmirror/ports/www/py-fcgi/work/fcgi.pys_test~sV           "  s__main__(1sosssyssstringssocketserrnos cStringIOsStringIOscgis FCGI_MAX_REQSsFCGI_MAX_CONNSsFCGI_VERSION_1sFCGI_MPXS_CONNSsFCGI_BEGIN_REQUESTsFCGI_ABORT_REQUESTsFCGI_END_REQUESTs FCGI_PARAMSs FCGI_STDINs FCGI_STDOUTs FCGI_STDERRs FCGI_DATAsFCGI_GET_VALUESsFCGI_GET_VALUES_RESULTsFCGI_UNKNOWN_TYPEs FCGI_MAXTYPEsManagementTypessFCGI_NULL_REQUEST_IDsFCGI_KEEP_CONNsFCGI_RESPONDERsFCGI_AUTHORIZERs FCGI_FILTERsFCGI_REQUEST_COMPLETEsFCGI_CANT_MPX_CONNsFCGI_OVERLOADEDsFCGI_UNKNOWN_ROLEserrorsrecordsreadPairs writePairsHandleManTypess_isFCGIsisFCGIsNones_inits_socksFCGIsAccepts_startups_tests__name__(+s FCGI_MAXTYPEsFCGI_MPXS_CONNSs_testsFCGI_OVERLOADEDs writePairsFCGI_GET_VALUESsFCGI_CANT_MPX_CONNsFCGI_BEGIN_REQUESTs FCGI_STDINsFCGI_AUTHORIZERsrecordsFCGI_MAX_CONNSserrnos FCGI_MAX_REQSsFCGI_RESPONDERs_startupsFCGI_ABORT_REQUESTsManagementTypesscgisFCGI_END_REQUESTsstringsFCGI_NULL_REQUEST_IDssyssFCGIsHandleManTypess FCGI_PARAMSs FCGI_STDERRsFCGI_UNKNOWN_TYPEs FCGI_FILTERsFCGI_REQUEST_COMPLETEssocketsreadPairsFCGI_GET_VALUES_RESULTsFCGI_KEEP_CONNsStringIOsFCGI_UNKNOWN_ROLEs FCGI_STDOUTsisFCGIsAccepts FCGI_DATAsFCGI_VERSION_1serrorsos((s+/mnt/gmirror/ports/www/py-fcgi/work/fcgi.pys?"sH-    M   …  6