/usr/lib64/python3.6/wsgiref/__pycache__
NameSizeModeActions
handlers.cpython-36.opt-1.pyc157080644editdlrm
handlers.cpython-36.opt-2.pyc102740644editdlrm
handlers.cpython-36.pyc161500644editdlrm
headers.cpython-36.opt-1.pyc78170644editdlrm
headers.cpython-36.opt-2.pyc45760644editdlrm
headers.cpython-36.pyc78740644editdlrm
simple_server.cpython-36.opt-1.pyc51950644editdlrm
simple_server.cpython-36.opt-2.pyc44180644editdlrm
simple_server.cpython-36.pyc51950644editdlrm
util.cpython-36.opt-1.pyc51940644editdlrm
util.cpython-36.opt-2.pyc36210644editdlrm
util.cpython-36.pyc51940644editdlrm
validate.cpython-36.opt-1.pyc148020644editdlrm
validate.cpython-36.opt-2.pyc111690644editdlrm
validate.cpython-36.pyc148020644editdlrm
__init__.cpython-36.opt-1.pyc7180644editdlrm
__init__.cpython-36.opt-2.pyc1250644editdlrm
__init__.cpython-36.pyc7180644editdlrm
Edit: /usr/lib64/python3.6/wsgiref/__pycache__/simple_server.cpython-36.pyc (5195B)
3 \ @s dZddlmZmZddlZddlZddlmZddl m Z dZ ddd d gZ d e Z e d ejjdZe d eZGdddeZGdddeZGdddeZdd Zeefdd ZedkreddeBZejjZededdeddddlZejdejWdQRXdS)a!BaseHTTPServer that implements the Python WSGI protocol (PEP 3333) This is both an example of how WSGI can be implemented, and a basis for running simple web applications on a local machine, such as might be done when testing or debugging an application. It has not been reviewed for security issues, however, and we strongly recommend that you use a "real" web server for production use. For example usage, see the 'if __name__=="__main__"' block at the end of the module. See also the BaseHTTPServer module docs for other API information. )BaseHTTPRequestHandler HTTPServerN) SimpleHandler)python_implementationz0.2 WSGIServerWSGIRequestHandlerdemo_app make_serverz WSGIServer// c@seZdZeZddZdS) ServerHandlerc Cs4z"|jj|jjddd|jWdtj|XdS)Nr r)request_handlerZ log_requestZstatussplitZ bytes_sentrclose)selfr-/usr/lib64/python3.6/wsgiref/simple_server.pyr szServerHandler.closeN)__name__ __module__ __qualname__software_versionZserver_softwarerrrrrr sr c@s4eZdZdZdZddZddZddZd d ZdS) rz7BaseHTTPServer that implements the Python WSGI protocolNcCstj||jdS)z.Override server_bind to store the server name.N)r server_bind setup_environ)rrrrr0s zWSGIServer.server_bindcCsFi}|_|j|d<d|d<t|j|d<d|d<d|d<d|d<dS) NZ SERVER_NAMEzCGI/1.1ZGATEWAY_INTERFACEZ SERVER_PORT REMOTE_HOSTCONTENT_LENGTHZ SCRIPT_NAME) base_environZ server_namestrZ server_port)renvrrrr5s  zWSGIServer.setup_environcCs|jS)N) application)rrrrget_app?szWSGIServer.get_appcCs ||_dS)N)r )rr rrrset_appBszWSGIServer.set_app) rrr__doc__r rrr!r"rrrrr*s  c@s,eZdZdeZddZddZddZdS) rz WSGIServer/cCsT|jjj}|j|d<|j|d<|j|d<d|jkrH|jjdd\}}n |jd}}tj j |d|d<||d <|j }||j d kr||d <|j d |d <|j jd dkr|j j|d<n|j d |d<|j jd}|r||d<xn|j jD]`\}}|jddj}|j}||krqd||kr@|d|d|7<q||d|<qW|S)NZSERVER_PROTOCOLZSERVER_SOFTWAREZREQUEST_METHOD?r rz iso-8859-1Z PATH_INFOZ QUERY_STRINGrrZ REMOTE_ADDRz content-typeZ CONTENT_TYPEzcontent-lengthr-_ZHTTP_,)serverrcopyrequest_versionserver_versioncommandpathrurllibparseZunquoteZaddress_stringZclient_addressZheadersgetZget_content_typeitemsreplaceupperstrip)rrr-ZqueryhostZlengthkvrrr get_environKs8        zWSGIRequestHandler.get_environcCstjS)N)sysstderr)rrrr get_stderrpszWSGIRequestHandler.get_stderrcCs||jjd|_t|jdkrrrrrrGs%cCsvddlm}|}td|dt|dt|j}x$|D]\}}t|dt||dq:W|dd g|jjd gS) Nr)StringIOz Hello world!)file=z200 OK Content-Typetext/plain; charset=utf-8zutf-8)rCrD)ior@printsortedr1reprgetvalueencode)environZstart_responser@stdouthr6r7rrrrs     cCs|||f|}|j||S)zACreate a new WSGI server listening on `host` and `port` for `app`)r")r5portZappZ server_classZ handler_classr(rrrr s __main__ri@zServing HTTP onrNr z...zhttp://localhost:8000/xyz?abc) r#Z http.serverrrr9Z urllib.parser.Zwsgiref.handlersrplatformrr?__all__r+versionr sys_versionrr rrrr rZhttpdZsocketZ getsocknameZsarFZ webbrowseropenZhandle_requestrrrr s,    B