� {fc@s�dZddlZddddddgZddd ��YZd �Zd �Zd d �Zd�Zd�Zid d6d d6d d6d d6d d6d d6d d6d d6j 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 cCs4||_||_t|d�r0|j|_ndS(Ntclose(tfileliketblksizethasattrR(tselfRR((s$/usr/lib64/python2.7/wsgiref/util.pyt__init__s  cCs)|jj|j�}|r|St�dS(N(RtreadRt IndexError(R tkeytdata((s$/usr/lib64/python2.7/wsgiref/util.pyt __getitem__scCs|S(N((R ((s$/usr/lib64/python2.7/wsgiref/util.pyt__iter__scCs)|jj|j�}|r|St�dS(N(RR Rt StopIteration(R R((s$/usr/lib64/python2.7/wsgiref/util.pytnexts(t__name__t __module__t__doc__R RRR(((s$/usr/lib64/python2.7/wsgiref/util.pyR s    cCs!|jd�dkrdSdSdS( sMReturn a guess for whether 'wsgi.url_scheme' should be 'http' or 'https' tHTTPStyestont1thttpsthttpN(RRR(tget(tenviron((s$/usr/lib64/python2.7/wsgiref/util.pyR#scCs�|dd}ddlm}|jd�r>||d7}nk||d7}|ddkr�|dd kr�|d |d7}q�n%|dd kr�|d |d7}n|||jd �p�d �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.7/wsgiref/util.pyR+sicCs�t|�}ddlm}||jdd�dd�}|jd�sZ||d7}n ||7}|r�|jd �r�|d |d 7}n|S( sBReturn the full request URI, optionally including the query stringi����(Rt PATH_INFOttsafes/;=,R&it QUERY_STRINGt?(RR(RR(Rt include_queryR)Rt path_info((s$/usr/lib64/python2.7/wsgiref/util.pyR?s  cCs|jdd�}|sdS|jd�}g|dd!D]}|r9|dkr9|^q9|dd+|d}|d=|jdd�}tj|d|�}|jd�r�|d }n| r�|jd� r�|d7}n||ds      ) (