-í
ç¶<c       sö    d  Z  C E d k Z F d k Z G d k Z H d k l Z J y K d k l Z Wn& L e j
 o M d k l Z n XO d d d d d d	 d
 d d d d d d d d d d g Z	 V d Z
 W d Z Y d Z \ d Z ] d Z ^ d Z a d f  d „  ƒ  YZ Id f  d „  ƒ  YZ `d f  d „  ƒ  YZ “d e f d „  ƒ  YZ ´d f  d  „  ƒ  YZ e e d! ƒ o d" e f d# „  ƒ  YZ n &d e f d$ „  ƒ  YZ )d	 e f d% „  ƒ  YZ ,d
 e f d& „  ƒ  YZ 0d e f d' „  ƒ  YZ 3d e f d( „  ƒ  YZ 6d e f d) „  ƒ  YZ 9d e f d* „  ƒ  YZ =d e f d+ „  ƒ  YZ @d e f d, „  ƒ  YZ  Cd e f d- „  ƒ  YZ! Fd e f d. „  ƒ  YZ" Id e f d/ „  ƒ  YZ# Ne Z$ Td0 „  Z% e& d1 j o ‘e% ƒ  n d S(2   sü	  HTTP/1.1 client library

<intro stuff goes here>
<other stuff, too>

HTTPConnection go through a number of "states", which defines when a client
may legally make another request or fetch the response for a particular
request. This diagram details these state transitions:

    (null)
      |
      | HTTPConnection()
      v
    Idle
      |
      | putrequest()
      v
    Request-started
      |
      | ( putheader() )*  endheaders()
      v
    Request-sent
      |
      | response = getresponse()
      v
    Unread-response   [Response-headers-read]
      |\____________________
      |                     |
      | response.read()     | putrequest()
      v                     v
    Idle                  Req-started-unread-response
                     ______/|
                   /        |
   response.read() |        | ( putheader() )*  endheaders()
                   v        v
       Request-started    Req-sent-unread-response
                            |
                            | response.read()
                            v
                          Request-sent

This diagram presents the following rules:
  -- a second request may not be started until {response-headers-read}
  -- a response [object] cannot be retrieved until {request-sent}
  -- there is no differentiation between an unread response body and a
     partially read response body

Note: this enforcement is applied by the HTTPConnection class. The
      HTTPResponse class does not enforce this state machine, which
      implies sophisticated clients may accelerate the request/response
      pipeline. Caution should be taken, though: accelerating the states
      beyond the above pattern may imply knowledge of the server's
      connection-close behavior for certain requests. For example, it
      is impossible to tell whether the server will close the connection
      UNTIL the response headers have been read; this means that further
      requests cannot be placed into the pipeline until it is known that
      the server will NOT be closing the connection.

Logical State                  __state            __response
-------------                  -------            ----------
Idle                           _CS_IDLE           None
Request-started                _CS_REQ_STARTED    None
Request-sent                   _CS_REQ_SENT       None
Unread-response                _CS_IDLE           <response_class>
Req-started-unread-response    _CS_REQ_STARTED    <response_class>
Req-sent-unread-response       _CS_REQ_SENT       <response_class>
N(   s   urlsplit(   s   StringIOs   HTTPs   HTTPResponses   HTTPConnections   HTTPSConnections   HTTPExceptions   NotConnecteds   UnknownProtocols   UnknownTransferEncodings   IllegalKeywordArguments   UnimplementedFileModes   IncompleteReads   ImproperConnectionStates   CannotSendRequests   CannotSendHeaders   ResponseNotReadys   BadStatusLines   erroriP   i»  s   UNKNOWNs   Idles   Request-starteds   Request-sentc      sh   a t  Z b d d „ Z r d „  Z Ù d „  Z Þ d „  Z ç e d „ Z ,d „  Z Ce d „ Z	 RS(	   Ni    c    s‹   b c | i d d ƒ |  _ d | |  _ f t |  _ i t |  _ j t |  _	 k t |  _
 m t |  _ n t |  _ o t |  _ p t |  _ d  S(   Ns   rbi    (   s   socks   makefiles   selfs   fps
   debuglevels   Nones   msgs   _UNKNOWNs   versions   statuss   reasons   chunkeds
   chunk_lefts   lengths
   will_close(   s   selfs   socks
   debuglevel(    (    s   /usr/lib/python2.2/httplib.pys   __init__b s   c 	   sÌ  r s |  i t j	 o u d  Sn w |  i i ƒ  } x |  i d j o y d Gt | ƒ GHn z y" { | i t d ƒ \ } } } Wnu | t j
 of } y( ~ | i t d ƒ \ } }  d } Wn1 € t j
 o"  d } ‚ d } ƒ d } n Xn X„ | d  d	 j o  … |  i ƒ  † t | ƒ ‚ n ‰ yJ Š t | ƒ |  _
 } ‹ | d
 j  p
 | d j o Œ t | ƒ ‚ n Wn%  t j
 o Ž t | ƒ ‚ n X | i ƒ  |  _ ‘ | d j o ’ d |  _	 nS “ | i d ƒ o ” d |  _	 n0 • | d j o – d |  _	 n ˜ t | ƒ ‚ š |  i	 d j o# › t i t ƒ  ƒ |  _ œ d  Sn ž t i |  i d ƒ |  _ Ÿ |  i d j o,   x" |  i i D  ] } ¡ d G| GqšWn ¤ t |  i _ § |  i i d ƒ } ¨ | oB © | i ƒ  d j o ª t ƒ  ‚ n « d |  _ ¬ t |  _ n ® d |  _ ± |  i i d ƒ } ² | oR ³ | i ƒ  } · | i d ƒ d j p! |  i	 d j o |  i i d ƒ |  _  n* ½ |  i	 d j o |  i i d ƒ |  _  Â |  i i d ƒ } Ã | o |  i oB Ä y Å t | ƒ |  _! Wn" Æ t j
 o Ç t |  _! n Xn É t |  _! Ì | d j p( | d j p d
 | j o
 d j  n o Ï d |  _! n Ô |  i  o |  i o |  i! t j o × d |  _  n d  S(   Ni    s   reply:i   i   s    s   HTTP/0.9s   200i   s   HTTP/id   iç  s   HTTP/1.0i
   s   HTTP/1.i   i	   s   header:s   transfer-encodings   chunkeds
   connections   closeiÿÿÿÿs
   keep-alives   content-lengthiÌ   i0  iÈ   ("   s   selfs   msgs   Nones   fps   readlines   lines
   debuglevels   reprs   splits   versions   statuss   reasons
   ValueErrors   closes   BadStatusLines   ints   strips
   startswiths   UnknownProtocols	   mimetoolss   Messages   StringIOs   headerss   hdrs	   getheaders   tr_encs   lowers   UnknownTransferEncodings   chunkeds
   chunk_lefts   conns   finds
   will_closes   length(	   s   selfs   statuss   hdrs   reasons   versions   lengths   lines   conns   tr_enc(    (    s   /usr/lib/python2.2/httplib.pys   beginr s€   "		 	

C);)c    s4   Ù Ú |  i o  Û |  i i ƒ  Ü t |  _ n d  S(   N(   s   selfs   fps   closes   None(   s   self(    (    s   /usr/lib/python2.2/httplib.pys   closeÙ s   c    s   Þ å |  i t j Sd  S(   N(   s   selfs   fps   None(   s   self(    (    s   /usr/lib/python2.2/httplib.pys   isclosedÞ s   c    só  ç è |  i t j o é d Sn ë |  i oøì |  i } í d } î x†î d o{ï | t j os ð |  i i ƒ  } ñ | i d ƒ } ò | d j o ó | |  } n ô t
 | d ƒ } õ | d j o ö Pn n ÷ | t j o ø | |  i | ƒ } n² ù | | j  o1 ú | |  i | ƒ } û | | |  _ ü | Snq ý | | j o= þ | |  i | ƒ } ÿ |  i d ƒ  t |  _ | Sn$ | |  i | ƒ } | | } |  i d ƒ t } qI Wx9 d o. |  i i ƒ  } | d j o Pn qÕW|  i ƒ  | Sna | t j oP |  i o |  i i ƒ  } n |  i |  i ƒ } |  i ƒ  | Sn |  i t j	 o:  | |  i j o "|  i } n #|  i | |  _ n (|  i i | ƒ } *| Sd  S(   Ns    i   s   ;i    i   i   s   
(   s   selfs   fps   Nones   chunkeds
   chunk_lefts   values   readlines   lines   finds   is   ints   amts
   _safe_reads   closes
   will_closes   reads   ss   length(   s   selfs   amts   is   ss
   chunk_lefts   lines   value(    (    s   /usr/lib/python2.2/httplib.pys   readç sb   	 
 
c    sˆ   ,9:d } ;xh ;| d j oW <|  i i | ƒ } =| o >t | ƒ ‚ n ?| | } @| t | ƒ } q WA| Sd S(   sV  Read the number of bytes requested, compensating for partial reads.

        Normally, we have a blocking socket, but a read() can be interrupted
        by a signal (resulting in a partial read).

        Note that we cannot distinguish between EOF and an interrupt when zero
        bytes have been read. IncompleteRead() will be raised in this
        situation.

        This function should be used when <amt> bytes "should" be present for
        reading. If the bytes are truly not available (due to EOF), then the
        IncompleteRead exception can be used to detect the problem.
        s    i    N(   s   ss   amts   selfs   fps   reads   chunks   IncompleteReads   len(   s   selfs   amts   ss   chunk(    (    s   /usr/lib/python2.2/httplib.pys
   _safe_read,s   	 c    s@   CD|  i t j o Et ƒ  ‚ n F|  i i | | ƒ Sd  S(   N(   s   selfs   msgs   Nones   ResponseNotReadys	   getheaders   names   default(   s   selfs   names   default(    (    s   /usr/lib/python2.2/httplib.pys	   getheaderCs   (
   s   __name__s
   __module__s   __init__s   begins   closes   iscloseds   Nones   reads
   _safe_reads	   getheader(    (    (    s   /usr/lib/python2.2/httplib.pys   HTTPResponsea s   	g	Ec      sÝ   It  Z Kd Z Ld Z Ne Z Oe Z Pd Z Qd Z	 Se
 d „ Z Zd „  Z ed „  Z hd „  Z }d	 „  Z ‡d
 „  Z d d „ Z  d „  Z d „  Z e
 h  d „ Z !d „  Z 4d „  Z RS(   Ni   s   HTTP/1.1i   i    c    s>   STt  |  _ Ut  |  _ Vt |  _ X|  i | | ƒ d  S(   N(	   s   Nones   selfs   socks   _HTTPConnection__responses   _CS_IDLEs   _HTTPConnection__states   _set_hostports   hosts   port(   s   selfs   hosts   port(    (    s   /usr/lib/python2.2/httplib.pys   __init__Ss   c    s‰   Z[| t j oZ \| i d ƒ } ]| d j o( ^t | | d ƒ } _| |  } n a|  i } n b| |  _ c| |  _  d  S(   Ns   :i    i   (   s   ports   Nones   hosts   finds   is   ints   selfs   default_port(   s   selfs   hosts   ports   i(    (    s   /usr/lib/python2.2/httplib.pys   _set_hostportZs   c    s   ef| |  _ d  S(   N(   s   levels   selfs
   debuglevel(   s   selfs   level(    (    s   /usr/lib/python2.2/httplib.pys   set_debugleveles   c    sf  hijd } kx,t i |  i |  i d t i ƒ Dk]} l| \ } } } } } mya nt i | | | ƒ |  _ o|  i d j o pd |  i |  i f GHn q|  i i | ƒ Wn} rt i j
 ok } s|  i d j o td G|  i |  i f GHn u|  i o v|  i i ƒ  n wt |  _ xq4 n XyPq4 Wz|  i o {t i | ‚ n d S(   s3   Connect to the host and port specified in __init__.s!   getaddrinfo returns an empty listi    s   connect: (%s, %s)s   connect fail:N(   s   msgs   sockets   getaddrinfos   selfs   hosts   ports   SOCK_STREAMs   ress   afs   socktypes   protos	   canonnames   sas   socks
   debuglevels   connects   errors   closes   None(   s   selfs   socktypes   sas   afs   msgs   ress   protos	   canonname(    (    s   /usr/lib/python2.2/httplib.pys   connecths(   	% 	c    sp   }~|  i o  €|  i i ƒ  t |  _ n ‚|  i o  ƒ|  i i ƒ  „t |  _ n …t |  _ d S(   s(   Close the connection to the HTTP server.N(   s   selfs   socks   closes   Nones   _HTTPConnection__responses   _CS_IDLEs   _HTTPConnection__state(   s   self(    (    s   /usr/lib/python2.2/httplib.pys   close}s   c    s×   ‡ˆ‰|  i t j o. Š|  i o ‹|  i ƒ  n t ƒ  ‚ n ”|  i d j o •d Gt | ƒ GHn –y —|  i i	 | ƒ WnF ˜t
 i j
 o4 } ™| d d j o š|  i ƒ  n ›‚  n Xd S(   s   Send `str' to the server.i    s   send:i    N(   s   selfs   socks   Nones	   auto_opens   connects   NotConnecteds
   debuglevels   reprs   strs   sendalls   sockets   errors   vs   close(   s   selfs   strs   v(    (    s   /usr/lib/python2.2/httplib.pys   send‡s   c    sð  ¢¥|  i o |  i i ƒ  o ¦t |  _ n »|  i t j o ¼t |  _ n ¾t ƒ  ‚ À| o Ád } n Âd | | |  i
 f } Äy Å|  i | ƒ WnT Æt i j
 oB } È| d d j p |  i o
 É‚  n Ë|  i | ƒ n XÍ|  i d j oÕ Ð| o³ ßd } à| i d ƒ o" át | ƒ \ } } } } } n ã| o ä|  i d | ƒ nQ å|  i t j o æ|  i d |  i ƒ n$ è|  i d d	 |  i |  i f ƒ n ò|  i d
 d ƒ n þd S(   s®   Send a request to the server.

        `method' specifies an HTTP request method, e.g. 'GET'.
        `url' specifies the object being requested, e.g. '/index.html'.
        s   /s
   %s %s %s
i    i    i   s    s   https   Hosts   %s:%ss   Accept-Encodings   identityN(   s   selfs   _HTTPConnection__responses   iscloseds   Nones   _HTTPConnection__states   _CS_IDLEs   _CS_REQ_STARTEDs   CannotSendRequests   urls   methods   _http_vsn_strs   strs   sends   sockets   errors   vs	   auto_opens	   _http_vsns	   skip_hosts   netlocs
   startswiths   urlsplits   nils	   putheaders   ports	   HTTP_PORTs   host(   s   selfs   methods   urls	   skip_hosts   nils   netlocs   strs   v(    (    s   /usr/lib/python2.2/httplib.pys
   putrequests6   
	"
'
c    sP    |  i t j o t ƒ  ‚ n d | | f } 	|  i | ƒ d S(   sk   Send a request header line to the server.

        For example: h.putheader('Accept', 'text/html')
        s   %s: %s
N(   s   selfs   _HTTPConnection__states   _CS_REQ_STARTEDs   CannotSendHeaders   headers   values   strs   send(   s   selfs   headers   values   str(    (    s   /usr/lib/python2.2/httplib.pys	   putheader s
   c    sI   |  i t j o t |  _ n t ƒ  ‚ |  i d ƒ d S(   s?   Indicate that the last header line has been sent to the server.s   
N(   s   selfs   _HTTPConnection__states   _CS_REQ_STARTEDs   _CS_REQ_SENTs   CannotSendHeaders   send(   s   self(    (    s   /usr/lib/python2.2/httplib.pys
   endheaderss
   c    sŠ   y |  i | | | | ƒ Wn] t i j
 oK } | d d j p |  i	 o
 ‚  n |  i | | | | ƒ n Xd S(   s&   Send a complete request to the server.i    i    N(
   s   selfs   _send_requests   methods   urls   bodys   headerss   sockets   errors   vs	   auto_open(   s   selfs   methods   urls   bodys   headerss   v(    (    s   /usr/lib/python2.2/httplib.pys   requests   
c 	   s#  !%| i d ƒ pH g  i } | i ƒ  D&]* } &| i ƒ  d j o | | ƒ n q* ~ o '|  i | | d d ƒn )|  i | | ƒ +| o# ,|  i d t t | ƒ ƒ ƒ n -x0 | i ƒ  D-] \ } } .|  i | | ƒ qÎ W/|  i ƒ  1| o 2|  i | ƒ n d  S(   Ns   Hosts   hosts	   skip_hosti   s   Content-Length(   s   headerss   has_keys   appends   _[1]s   iterkeyss   ks   lowers   selfs
   putrequests   methods   urls   bodys	   putheaders   strs   lens   itemss   hdrs   values
   endheaderss   send(	   s   selfs   methods   urls   bodys   headerss   hdrs   ks   values   _[1](    (    s   /usr/lib/python2.2/httplib.pys   _send_request!s   '	 .
# 
c    sõ   458|  i o |  i i ƒ  o 9t |  _ n K|  i t j p |  i o Lt ƒ  ‚ n N|  i d j o O|  i |  i	 |  i ƒ } n Q|  i |  i	 ƒ } S| i ƒ  Tt |  _ V| i o X|  i ƒ  n [| |  _ ]| Sd S(   s!   Get the response from the server.i    N(   s   selfs   _HTTPConnection__responses   iscloseds   Nones   _HTTPConnection__states   _CS_REQ_SENTs   ResponseNotReadys
   debuglevels   response_classs   socks   responses   begins   _CS_IDLEs
   will_closes   close(   s   selfs   response(    (    s   /usr/lib/python2.2/httplib.pys   getresponse4s   (   s   __name__s
   __module__s	   _http_vsns   _http_vsn_strs   HTTPResponses   response_classs	   HTTP_PORTs   default_ports	   auto_opens
   debuglevels   Nones   __init__s   _set_hostports   set_debuglevels   connects   closes   sends
   putrequests	   putheaders
   endheaderss   requests   _send_requests   getresponse(    (    (    s   /usr/lib/python2.2/httplib.pys   HTTPConnectionIs$   							
c
s
   FakeSocketc      sb   `t  Z ad „  Z ee d „ Z †d d „ Z ‰d d „ Z Œd d d „ Z d „  Z RS(	   Nc    s   ab| |  _ c| |  _ d  S(   N(   s   socks   selfs   _FakeSocket__socks   ssls   _FakeSocket__ssl(   s   selfs   socks   ssl(    (    s   /usr/lib/python2.2/httplib.pys   __init__as   c    sl  emn| d j o
 | d j o ot ƒ  ‚ n qg  } rxrd osy t|  i i ƒ  } Wn½ ut i j
 oj } v| d t i
 j p | d t i j p d o
 yqB n z| d t i j o {Pn |‚  nC }t i j
 o0 } ~| d t i j o
 qB n €‚  n X| d j o ‚Pn ƒ| i | ƒ qB W„t d i | ƒ ƒ Sd S(   s7  Return a readable file-like object with data from socket.

        This method offers only partial support for the makefile
        interface of a real socket.  It only supports modes 'r' and
        'rb' and the bufsize argument is ignored.

        The returned object contains *all* of the file data
        s   rs   rbi   i    s    N(   s   modes   UnimplementedFileModes   msgbufs   selfs   _FakeSocket__ssls   reads   bufs   sockets   sslerrors   errs   SSL_ERROR_WANT_READs   SSL_ERROR_WANT_WRITEs   SSL_ERROR_ZERO_RETURNs   errors   errnos   EINTRs   appends   StringIOs   join(   s   selfs   modes   bufsizes   msgbufs   errs   buf(    (    s   /usr/lib/python2.2/httplib.pys   makefilees,   	 
2


i    c    s   †‡|  i i | ƒ Sd  S(   N(   s   selfs   _FakeSocket__ssls   writes   stuff(   s   selfs   stuffs   flags(    (    s   /usr/lib/python2.2/httplib.pys   send†s   c    s   ‰Š|  i i | ƒ Sd  S(   N(   s   selfs   _FakeSocket__ssls   writes   stuff(   s   selfs   stuffs   flags(    (    s   /usr/lib/python2.2/httplib.pys   sendall‰s   i   c    s   Œ|  i i | ƒ Sd  S(   N(   s   selfs   _FakeSocket__ssls   reads   len(   s   selfs   lens   flags(    (    s   /usr/lib/python2.2/httplib.pys   recvŒs   c    s   t  |  i | ƒ Sd  S(   N(   s   getattrs   selfs   _FakeSocket__socks   attr(   s   selfs   attr(    (    s   /usr/lib/python2.2/httplib.pys   __getattr__s   (	   s   __name__s
   __module__s   __init__s   Nones   makefiles   sends   sendalls   recvs   __getattr__(    (    (    s   /usr/lib/python2.2/httplib.pys
   FakeSocket`s   	!c      s8   “t  Z d  Z ”–e Z ˜e d „ Z ¨d „  Z RS(   s(   This class allows communication via SSL.c    sÖ   ˜™| i ƒ  } šy ›| i d ƒ Wn œt j
 o
 n Xžy Ÿ| i d ƒ Wn  t j
 o
 ¡n X¢| o £t ƒ  ‚ n ¤t i |  | | ƒ ¥| i
 d ƒ |  _ ¦| i
 d ƒ |  _ d  S(   Ns   key_files	   cert_file(   s   x509s   keyss   removes
   ValueErrors   IllegalKeywordArguments   HTTPConnections   __init__s   selfs   hosts   ports   gets   key_files	   cert_file(   s   selfs   hosts   ports   x509s   keys(    (    s   /usr/lib/python2.2/httplib.pys   __init__˜s   
c    s    ¨©«t  i  t  i t  i ƒ } ¬| i |  i |  i f ƒ ­| } ®t	 | d ƒ o ¯| i
 } n °t  i | |  i |  i ƒ } ±t | | ƒ |  _ d S(   s(   Connect to a host on a given (SSL) port.s   _sockN(   s   sockets   AF_INETs   SOCK_STREAMs   socks   connects   selfs   hosts   ports   realsocks   hasattrs   _socks   ssls   key_files	   cert_files
   FakeSocket(   s   selfs   ssls   socks   realsock(    (    s   /usr/lib/python2.2/httplib.pys   connect¨s   	(   s   __name__s
   __module__s   __doc__s
   HTTPS_PORTs   default_ports   Nones   __init__s   connect(    (    (    s   /usr/lib/python2.2/httplib.pys   HTTPSConnection“s   	c      s˜   ´t  Z d  Z µ·d Z ¸d Z ºd Z ¼e Z ¾d e d „ Z	 Êd „  Z
 Øe e d „ Z ßd „  Z ãd	 „  Z çd
 „  Z d „  Z RS(   s-   Compatibility class with httplib.py from 1.5.i
   s   HTTP/1.0i    s    c    sC   ¾¿Â| d j o Ãt } n È|  i |  i | | ƒ ƒ d S(   s:   Provide a default host, since the superclass requires one.i    N(   s   ports   Nones   selfs   _setups   _connection_classs   host(   s   selfs   hosts   port(    (    s   /usr/lib/python2.2/httplib.pys   __init__¾s   c    sy   ÊË| |  _ Î| i |  _ Ï| i |  _ Ð| i |  _ Ñ| i |  _ Ó|  i | _ Ô|  i | _ Öt	 |  _
 d  S(   N(   s   conns   selfs   _conns   sends
   putrequests
   endheaderss   set_debuglevels	   _http_vsns   _http_vsn_strs   Nones   file(   s   selfs   conn(    (    s   /usr/lib/python2.2/httplib.pys   _setupÊs   c    sD   ØÙÛ| t j	 o Ü|  i i | | ƒ n Ý|  i i ƒ  d S(   sD   Accept arguments to set the host/port, since the superclass doesn't.N(   s   hosts   Nones   selfs   _conns   _set_hostports   ports   connect(   s   selfs   hosts   port(    (    s   /usr/lib/python2.2/httplib.pys   connectØs   c    s   ßàá|  i Sd S(   sC   Provide a getfile, since the superclass' does not use this concept.N(   s   selfs   file(   s   self(    (    s   /usr/lib/python2.2/httplib.pys   getfileßs   c    s)   ãäå|  i i | d i | ƒ ƒ d S(   s.   The superclass allows only one value argument.s   
	N(   s   selfs   _conns	   putheaders   headers   joins   values(   s   selfs   headers   values(    (    s   /usr/lib/python2.2/httplib.pys	   putheaderãs   c    s¿   çîïy ð|  i i ƒ  } Wnb ñt j
 oS } ÷|  i i i d d ƒ |  _ ú|  i	 ƒ  üt
 |  _ ýd | i t
 f Sn Xÿ| i |  _  | i |  _ | i | i | i f Sd S(   s  Compat definition since superclass does not define it.

        Returns a tuple consisting of:
        - server status code (e.g. '200' if all goes well)
        - server "reason" corresponding to status code
        - any RFC822 headers in the response from the server
        s   rbi    iÿÿÿÿN(   s   selfs   _conns   getresponses   responses   BadStatusLines   es   socks   makefiles   files   closes   Nones   headerss   lines   msgs   fps   statuss   reason(   s   selfs   es   response(    (    s   /usr/lib/python2.2/httplib.pys   getreplyçs   c    s#   |  i i ƒ  t |  _ d  S(   N(   s   selfs   _conns   closes   Nones   file(   s   self(    (    s   /usr/lib/python2.2/httplib.pys   closes   (   s   __name__s
   __module__s   __doc__s	   _http_vsns   _http_vsn_strs
   debuglevels   HTTPConnections   _connection_classs   Nones   __init__s   _setups   connects   getfiles	   putheaders   getreplys   close(    (    (    s   /usr/lib/python2.2/httplib.pys   HTTP´s   				s   ssls   HTTPSc      s/   t  Z d  Z e Z d e d „ Z RS(   sÉ   Compatibility with 1.5 httplib interface

        Python 1.5.2 did not have an HTTPS class, but it defined an
        interface for sending http requests that is also useful for
        https.
        s    c    sm   | d j o t } n |  i |  i | | |  ƒ "| i d ƒ |  _ #| i d ƒ |  _	 d  S(   Ni    s   key_files	   cert_file(
   s   ports   Nones   selfs   _setups   _connection_classs   hosts   x509s   gets   key_files	   cert_file(   s   selfs   hosts   ports   x509(    (    s   /usr/lib/python2.2/httplib.pys   __init__s
   (   s   __name__s
   __module__s   __doc__s   HTTPSConnections   _connection_classs   Nones   __init__(    (    (    s   /usr/lib/python2.2/httplib.pys   HTTPSs   	c      s   &t  Z 'RS(   N(   s   __name__s
   __module__(    (    (    s   /usr/lib/python2.2/httplib.pys   HTTPException&s   	c      s   )t  Z *RS(   N(   s   __name__s
   __module__(    (    (    s   /usr/lib/python2.2/httplib.pys   NotConnected)s   	c      s   ,t  Z -d „  Z RS(   Nc    s   -.| |  _  d  S(   N(   s   versions   self(   s   selfs   version(    (    s   /usr/lib/python2.2/httplib.pys   __init__-s   (   s   __name__s
   __module__s   __init__(    (    (    s   /usr/lib/python2.2/httplib.pys   UnknownProtocol,s   	c      s   0t  Z 1RS(   N(   s   __name__s
   __module__(    (    (    s   /usr/lib/python2.2/httplib.pys   UnknownTransferEncoding0s   	c      s   3t  Z 4RS(   N(   s   __name__s
   __module__(    (    (    s   /usr/lib/python2.2/httplib.pys   IllegalKeywordArgument3s   	c      s   6t  Z 7RS(   N(   s   __name__s
   __module__(    (    (    s   /usr/lib/python2.2/httplib.pys   UnimplementedFileMode6s   	c      s   9t  Z :d „  Z RS(   Nc    s   :;| |  _  d  S(   N(   s   partials   self(   s   selfs   partial(    (    s   /usr/lib/python2.2/httplib.pys   __init__:s   (   s   __name__s
   __module__s   __init__(    (    (    s   /usr/lib/python2.2/httplib.pys   IncompleteRead9s   	c      s   =t  Z >RS(   N(   s   __name__s
   __module__(    (    (    s   /usr/lib/python2.2/httplib.pys   ImproperConnectionState=s   	c      s   @t  Z ARS(   N(   s   __name__s
   __module__(    (    (    s   /usr/lib/python2.2/httplib.pys   CannotSendRequest@s   	c      s   Ct  Z DRS(   N(   s   __name__s
   __module__(    (    (    s   /usr/lib/python2.2/httplib.pys   CannotSendHeaderCs   	c      s   Ft  Z GRS(   N(   s   __name__s
   __module__(    (    (    s   /usr/lib/python2.2/httplib.pys   ResponseNotReadyFs   	c      s   It  Z Jd „  Z RS(   Nc    s   JK| |  _  d  S(   N(   s   lines   self(   s   selfs   line(    (    s   /usr/lib/python2.2/httplib.pys   __init__Js   (   s   __name__s
   __module__s   __init__(    (    (    s   /usr/lib/python2.2/httplib.pys   BadStatusLineIs   	c     sò  TZ\d k  }	 ]d k } ^| i |	 i d d ƒ \ } } _d } `x8 | D`]- \ } }  a| d j o a| d } n qS Wbd } cd } d| d o d| d } n e| d o e| d } n ft
 ƒ  } g| i | ƒ h| i | ƒ i| i d | ƒ j| i ƒ  k| i ƒ  \ } } }
 ld	 G| GHmd
 G| GHnHo|
 o, px" |
 i Dp] } p| i ƒ  GHqnWn qHr| i ƒ  i ƒ  GHud t
 f d „  ƒ  Y} y| d ƒ } z| i d d ƒ {| i ƒ  || i ƒ  }| i ƒ  t t d ƒ oÔ €d } d } ‚t ƒ  } ƒ| i | ƒ „| i d | ƒ …| i ƒ  †| i ƒ  \ } } }
 ‡d	 G| GHˆd
 G| GH‰HŠ|
 o, ‹x" |
 i D‹] } ‹| i ƒ  GHq³Wn ŒH| i ƒ  i ƒ  GHn d S(   sº   Test this module.

    The test consists of retrieving and displaying the Python
    home page, along with the error code and error string returned
    by the www.python.org server.
    Ni   s   di    s   -ds   www.python.orgs   /s   GETs   status =s   reason =s   HTTP11c      s   ut  Z vd Z wd Z RS(   Ni   s   HTTP/1.1(   s   __name__s
   __module__s	   _http_vsns   _http_vsn_str(    (    (    s   /usr/lib/python2.2/httplib.pys   HTTP11us   		s   http://www.python.org/~jeremy/s   ssls   sourceforge.nets   /projects/python(   s   syss   getopts   argvs   optss   argss   dls   os   as   hosts   selectors   HTTPs   hs   set_debuglevels   connects
   putrequests
   endheaderss   getreplys   statuss   reasons   headerss   headers   strips   getfiles   reads   HTTP11s   closes   hasattrs   sockets   HTTPSs   hs(   s   as   statuss   dls   headers   hs   argss   reasons   os   selectors   syss   headerss   hosts   HTTP11s   hss   getopts   opts(    (    s   /usr/lib/python2.2/httplib.pys   testTsj   "	
  		  
 	 		
 	 s   __main__('   s   __doc__s   errnos	   mimetoolss   sockets   urlparses   urlsplits	   cStringIOs   StringIOs   ImportErrors   __all__s	   HTTP_PORTs
   HTTPS_PORTs   _UNKNOWNs   _CS_IDLEs   _CS_REQ_STARTEDs   _CS_REQ_SENTs   HTTPResponses   HTTPConnections
   FakeSockets   HTTPSConnections   HTTPs   hasattrs   HTTPSs	   Exceptions   HTTPExceptions   NotConnecteds   UnknownProtocols   UnknownTransferEncodings   IllegalKeywordArguments   UnimplementedFileModes   IncompleteReads   ImproperConnectionStates   CannotSendRequests   CannotSendHeaders   ResponseNotReadys   BadStatusLines   errors   tests   __name__(    s	   mimetoolss
   FakeSockets   HTTPs   HTTPConnections   HTTPExceptions   _CS_IDLEs   errors   ResponseNotReadys   BadStatusLines   UnknownProtocols   UnimplementedFileModes   _UNKNOWNs   CannotSendHeaders   HTTPSs   NotConnecteds   urlsplits   IllegalKeywordArguments	   HTTP_PORTs
   HTTPS_PORTs   __all__s   StringIOs   errnos   sockets   _CS_REQ_SENTs   IncompleteReads   ImproperConnectionStates   UnknownTransferEncodings   _CS_REQ_STARTEDs   HTTPSConnections   HTTPResponses   CannotSendRequests   test(    (    s   /usr/lib/python2.2/httplib.pys   ?C sN   <						èÿ 3!Y	<