ž
¬ÿf c @ sÍ d Z d d l Z d d d d d d g Z Gd d „ d ƒ Z d
d „ Z d d „ Z d d d „ Z d
d „ Z d d „ Z i d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6j
Z d d „ Z d S( u$ Miscellaneous WSGI-related Utilitiesi Nu FileWrapperu guess_schemeu application_uriu request_uriu shift_path_infou setup_testing_defaultsc B sM | Ee Z d Z d Z d d d „ Z d d „ Z d d „ Z d d
„ Z d S( u FileWrapperu1 Wrapper to convert file-like objects to iterablesi c C s4 | | _ | | _ t | d ƒ r0 | j | _ n d S( Nu close( u filelikeu blksizeu hasattru close( u selfu filelikeu blksize( ( u1 /opt/alt/python33/lib64/python3.3/wsgiref/util.pyu __init__ s u FileWrapper.__init__c C s) | j j | j ƒ } | r | St ‚ d S( N( u filelikeu readu blksizeu
IndexError( u selfu keyu data( ( u1 /opt/alt/python33/lib64/python3.3/wsgiref/util.pyu __getitem__ s u FileWrapper.__getitem__c C s | S( N( ( u self( ( u1 /opt/alt/python33/lib64/python3.3/wsgiref/util.pyu __iter__ s u FileWrapper.__iter__c C s) | j j | j ƒ } | r | St ‚ d S( N( u filelikeu readu blksizeu
StopIteration( u selfu data( ( u1 /opt/alt/python33/lib64/python3.3/wsgiref/util.pyu __next__ s u FileWrapper.__next__N( u __name__u
__module__u __qualname__u __doc__u __init__u __getitem__u __iter__u __next__( u
__locals__( ( u1 /opt/alt/python33/lib64/python3.3/wsgiref/util.pyu FileWrapper s
c C s! | j d ƒ d k r d Sd Sd S( uM Return a guess for whether 'wsgi.url_scheme' should be 'http' or 'https'
u HTTPSu yesu onu 1u httpsu httpN( u yesu onu 1( u get( u environ( ( u1 /opt/alt/python33/lib64/python3.3/wsgiref/util.pyu guess_scheme# s c C sÒ | d d } d d l m } | j d ƒ r> | | d 7} nk | | d 7} | d d k r„ | d d k r© | d
| d 7} q© n% | d d k r© | d
| d 7} n | | | j d ƒ pÁ d
d d ƒ7} | S( u@ Return the application's base URI (no PATH_INFO or QUERY_STRING)u wsgi.url_schemeu ://i ( u quoteu HTTP_HOSTu SERVER_NAMEu httpsu SERVER_PORTu 443u :u 80u SCRIPT_NAMEu /u encodingu latin1( u urllib.parseu quoteu get( u environu urlu quote( ( u1 /opt/alt/python33/lib64/python3.3/wsgiref/util.pyu application_uri+ s %c C sž t | ƒ } d d l m } | | j d d ƒ d d d d ƒ} | j d ƒ sf | | d
d … 7} n
| | 7} | rš | j d ƒ rš | d
| d 7} n | S( uB Return the full request URI, optionally including the query stringi ( u quoteu PATH_INFOu u safeu /;=,u encodingu latin1u SCRIPT_NAMEi Nu QUERY_STRINGu ?( u application_uriu urllib.parseu quoteu get( u environu
include_queryu urlu quoteu path_info( ( u1 /opt/alt/python33/lib64/python3.3/wsgiref/util.pyu request_uri? s $
c C s | j d d ƒ } | s d S| j d ƒ } d d „ | d d
… Dƒ | d d … <| d } | d =| j d d ƒ } t j | d | ƒ } | j d ƒ r® | d d … } n | rÒ | j d ƒ rÒ | d 7} n | | d