£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

f!  c               @   s  d  Z  d d l m Z m Z d d l Z d d l Z d d l m Z d d l	 m
 Z
 d Z d d d	 d
 g Z d e Z e
   d e j j   d Z e d e Z Gd d   d e  Z Gd d   d e  Z Gd d   d e  Z d d	   Z e e d d
  Z e d k r}e d d e  Z e j j   Z e d e d d e d d  d d l Z e j d  e j   e j    n  d S(   u!  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.
i    (   u   BaseHTTPRequestHandleru
   HTTPServerN(   u   SimpleHandler(   u   python_implementationu   0.2u
   WSGIServeru   WSGIRequestHandleru   demo_appu   make_serveru   WSGIServer/u   /u    c             B   s&   |  Ee  Z d  Z e Z d d   Z d S(   u   ServerHandlerc             C   sB   z- |  j  j |  j j d d  d |  j  Wd  t j |   Xd  S(   Nu    i   i    (   u   request_handleru   log_requestu   statusu   splitu
   bytes_sentu   SimpleHandleru   close(   u   self(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   close    s    	$u   ServerHandler.closeN(   u   __name__u
   __module__u   __qualname__u   software_versionu   server_softwareu   close(   u
   __locals__(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   ServerHandler   s   u   ServerHandlerc             B   sP   |  Ee  Z d  Z d Z d
 Z d d   Z d d   Z d d   Z d d	   Z	 d
 S(   u
   WSGIServeru7   BaseHTTPServer that implements the Python WSGI protocolc             C   s   t  j |   |  j   d S(   u.   Override server_bind to store the server name.N(   u
   HTTPServeru   server_bindu   setup_environ(   u   self(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   server_bind0   s    u   WSGIServer.server_bindc             C   sY   i  } |  _  |  j | d <d | d <t |  j  | d <d | d <d | d <d | d <d  S(	   Nu   SERVER_NAMEu   CGI/1.1u   GATEWAY_INTERFACEu   SERVER_PORTu    u   REMOTE_HOSTu   CONTENT_LENGTHu   SCRIPT_NAME(   u   base_environu   server_nameu   stru   server_port(   u   selfu   env(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   setup_environ5   s    


u   WSGIServer.setup_environc             C   s   |  j  S(   N(   u   application(   u   self(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   get_app?   s    u   WSGIServer.get_appc             C   s   | |  _  d  S(   N(   u   application(   u   selfu   application(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   set_appB   s    u   WSGIServer.set_appN(
   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   applicationu   server_bindu   setup_environu   get_appu   set_app(   u
   __locals__(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu
   WSGIServer*   s   
c             B   sB   |  Ee  Z d  Z d e Z d d   Z d d   Z d d   Z d S(	   u   WSGIRequestHandleru   WSGIServer/c             C   s  |  j  j j   } |  j | d <|  j | d <|  j | d <d |  j k rf |  j j d d  \ } } n |  j d } } t j	 j
 |  j d  | d <| | d	 <|  j   } | |  j d
 k r | | d <n  |  j d
 | d <|  j j d  d  k r
|  j j   | d <n |  j d | d <|  j j d  } | r@| | d <n  x |  j j   D]y \ } } | j d d  j   } | j   } | | k rqPn  d | | k r| d | d | 7<qP| | d | <qPW| S(   Nu   SERVER_PROTOCOLu   SERVER_SOFTWAREu   REQUEST_METHODu   ?i   u    u
   iso-8859-1u	   PATH_INFOu   QUERY_STRINGi    u   REMOTE_HOSTu   REMOTE_ADDRu   content-typeu   CONTENT_TYPEu   content-lengthu   CONTENT_LENGTHu   -u   _u   HTTP_u   ,(   u   serveru   base_environu   copyu   request_versionu   server_versionu   commandu   pathu   splitu   urllibu   parseu   unquote_to_bytesu   decodeu   address_stringu   client_addressu   headersu   getu   Noneu   get_content_typeu   itemsu   replaceu   upperu   strip(   u   selfu   envu   pathu   queryu   hostu   lengthu   ku   v(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   get_environK   s8    
 u   WSGIRequestHandler.get_environc             C   s   t  j S(   N(   u   sysu   stderr(   u   self(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu
   get_stderrp   s    u   WSGIRequestHandler.get_stderrc             C   s   |  j  j d  |  _ t |  j  d k rV d |  _ d |  _ d |  _ |  j d  d S|  j   sf d St	 |  j  |  j
 |  j   |  j    } |  | _ | j |  j j    d S(   u   Handle a single HTTP requesti  i   u    i  N(   u   rfileu   readlineu   raw_requestlineu   lenu   requestlineu   request_versionu   commandu
   send_erroru   parse_requestu   ServerHandleru   wfileu
   get_stderru   get_environu   request_handleru   runu   serveru   get_app(   u   selfu   handler(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   handles   s    			$	u   WSGIRequestHandler.handleN(   u   __name__u
   __module__u   __qualname__u   __version__u   server_versionu   get_environu
   get_stderru   handle(   u
   __locals__(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   WSGIRequestHandlerG   s   
%c             C   s   d d l  m } |   } t d d | t d |  t |  j    } x0 | D]( \ } } t | d t |  d | qO W| d d
 g  | j   j d	  g S(   Ni    (   u   StringIOu   Hello world!u   fileu   =u   200 OKu   Content-Typeu   text/plain; charset=utf-8u   utf-8(   u   Content-Typeu   text/plain; charset=utf-8(   u   iou   StringIOu   printu   sortedu   itemsu   repru   getvalueu   encode(   u   environu   start_responseu   StringIOu   stdoutu   hu   ku   v(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   demo_app   s    	 c             C   s&   | |  | f |  } | j  |  | S(   uA   Create a new WSGI server listening on `host` and `port` for `app`(   u   set_app(   u   hostu   portu   appu   server_classu   handler_classu   server(    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   make_server   s    u   __main__u    i@  u   Serving HTTP onu   porti   u   ...u   http://localhost:8000/xyz?abc(!   u   __doc__u   http.serveru   BaseHTTPRequestHandleru
   HTTPServeru   sysu   urllib.parseu   urllibu   wsgiref.handlersu   SimpleHandleru   platformu   python_implementationu   __version__u   __all__u   server_versionu   versionu   splitu   sys_versionu   software_versionu   ServerHandleru
   WSGIServeru   WSGIRequestHandleru   demo_appu   make_serveru   __name__u   httpdu   socketu   getsocknameu   sau   printu
   webbrowseru   openu   handle_requestu   server_close(    (    (    u:   /opt/alt/python33/lib64/python3.3/wsgiref/simple_server.pyu   <module>   s.   
B
