й¼] ã @ s¿ 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 d d d d d d d d d d d d d d d d i j Z d d „ Z
d S)é NÚFileWrapperÚguess_schemeÚapplication_uriÚrequest_uriÚshift_path_infoÚsetup_testing_defaultsc @ sC e Z d Z d d d „ Z d d „ Z d d „ Z d d „ Z d
S)r i c C s1 | | _ | | _ t | d ƒ r- | j | _ d S)NÚclose)ÚfilelikeÚblksizeÚhasattrr )Úselfr r
© r
ú)/opt/alt/python35/lib64/python3.5/util.pyÚ__init__ s zFileWrapper.__init__c C s) | j j | j ƒ } | r | St ‚ d S)N)r Úreadr
Ú
IndexError)r ÚkeyÚdatar
r
r Ú__getitem__ s zFileWrapper.__getitem__c C s | S)Nr
)r r
r
r Ú__iter__ s zFileWrapper.__iter__c C s) | j j | j ƒ } | r | St ‚ d S)N)r r r
Ú
StopIteration)r r r
r
r Ú__next__ s zFileWrapper.__next__N)Ú__name__Ú
__module__Ú__qualname__r r r r r
r
r
r r s c C s! | j d ƒ d k r d Sd Sd S)NZHTTPSÚyesÚonÚ1ÚhttpsÚhttp)r r r )Úget)Úenvironr
r
r r # s c C sÌ | d d } d d l m } | j d ƒ r> | | d 7} ne | | d 7} | d d k r� | d d k r£ | d
| d 7} n" | d d k r£ | d
| d 7} | | | j d ƒ p» d
d d ƒ7} | S)Nzwsgi.url_schemez://r )ÚquoteÚ HTTP_HOSTÚSERVER_NAMEr ÚSERVER_PORTÚ443ú:Ú80ÚSCRIPT_NAMEú/ÚencodingÚlatin1)Úurllib.parser" r )r! Úurlr" r
r
r r + s %Tc 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} | S)
Nr )r" Ú PATH_INFOÚ Zsafez/;=,r+ r, r) é ZQUERY_STRINGú?)r r- r" r )r! Z
include_queryr. r" Ú path_infor
r
r r ? 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 … } | rÌ | j d ƒ rÌ | d 7} | | d