Ńň §ÚęLc@sťdZddkZddddddgZddd „ƒYZd „Zd „Zd d „Zd„Zd„Zhd d6d d6d d6d d6d d6d d6d d6d d6i Z d„Z dS(s$Miscellaneous WSGI-related Utilitiesi˙˙˙˙Nt FileWrappert guess_schemetapplication_urit request_uritshift_path_infotsetup_testing_defaultscBs5eZdZdd„Zd„Zd„Zd„ZRS(s1Wrapper to convert file-like objects to iterablesi cCs6||_||_t|dƒo|i|_ndS(Ntclose(tfileliketblksizethasattrR(tselfRR((s$/usr/lib64/python2.6/wsgiref/util.pyt__init__s  cCs+|ii|iƒ}|o|St‚dS(N(RtreadRt IndexError(R tkeytdata((s$/usr/lib64/python2.6/wsgiref/util.pyt __getitem__scCs|S(N((R ((s$/usr/lib64/python2.6/wsgiref/util.pyt__iter__scCs+|ii|iƒ}|o|St‚dS(N(RR Rt StopIteration(R R((s$/usr/lib64/python2.6/wsgiref/util.pytnexts(t__name__t __module__t__doc__R RRR(((s$/usr/lib64/python2.6/wsgiref/util.pyR s    cCs#|idƒdjodSdSdS( sMReturn a guess for whether 'wsgi.url_scheme' should be 'http' or 'https' tHTTPStyestont1thttpsthttpN(RRR(tget(tenviron((s$/usr/lib64/python2.6/wsgiref/util.pyR*scCsŐ|dd}ddkl}|idƒo||d7}nr||d7}|ddjo+|dd jo|d |d7}qąn(|dd jo|d |d7}n|||id ƒpd ƒ7}|S(s@Return the application's base URI (no PATH_INFO or QUERY_STRING)swsgi.url_schemes://i˙˙˙˙(tquotet HTTP_HOSTt SERVER_NAMERt SERVER_PORTt443t:t80t SCRIPT_NAMEt/(turllibRR(RturlR((s$/usr/lib64/python2.6/wsgiref/util.pyR2s icCs‘t|ƒ}ddkl}||iddƒƒ}|idƒp||d7}n ||7}|o&|idƒo|d|d7}n|S( sBReturn the full request URI, optionally including the query stringi˙˙˙˙(Rt PATH_INFOtR&it QUERY_STRINGt?(RR(RR(Rt include_queryR)Rt path_info((s$/usr/lib64/python2.6/wsgiref/util.pyRFs  cCs+|iddƒ}|pdS|idƒ}g}|dd!D]%}|o|djo ||q?q?~|dd+|d}|d=|iddƒ}ti|d|ƒ}|idƒo|d }n| o|idƒ o|d7}n||ds      ) )