File: //proc/self/root/lib64/python2.7/site-packages/M2Crypto/m2urllib.pyc
�
�1Mc           @   sn   d  Z  d d l Z d d l Z d d l Z d d l Td d l Z d d l Z d Z d d d � Z e e	 _ d S(   s�   M2Crypto enhancement to Python's urllib for handling 
'https' url's.
Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved.i����N(   t   *t   sslv23c         C   s�  | d  k	 r* t | t j � r* | |  _ n t j t � |  _ d  } t | � t d � k r� t | � \ } } | r� t | � \ } } t	 | � } n  | } n� | \ } } t
 | � \ } }	 |	 } d  } t j | � d k r� d  } nI t |	 � \ } }	 | rt | � \ } } n  | r-d | | |	 f } n  | s?t
 d � n  | rld d  l }
 t j |
 j | � � } n d  } t j d | d |  j � } | d  k	 r�| j d	 | � | j d
 d � | j d d
 t | � � n | j d | � | r| j d d | � n  x! |  j D] }
 t | j |
 � q
W| j �  | d  k	 rQ| j | d � n  | j �  } | j } t j | | j d | � S(   Nt    t   https	   %s://%s%ss
   http errors
   no host giveni����t   hostt   ssl_contextt   POSTs   Content-types!   application/x-www-form-urlencodeds   Content-lengths   %dt   GETt
   Authorizations   Basic %ss   
s   https:(   s
   http errors
   no host given(   t   Nonet
   isinstancet   SSLt   Contextt   ctxt   DEFAULT_PROTOCOLt   typet	   splithostt	   splitusert   unquotet	   splittypet   stringt   lowert   IOErrort   base64t   stript   encodestringt   httpslibt   HTTPSConnectiont
   putrequestt	   putheadert   lent
   addheaderst   applyt
   endheaderst   sendt   getresponset   fpt   urllibt
   addinfourlt   msg(   t   selft   urlt   dataR   t   user_passwdR   t   selectort   realhostt   urltypet   restR   t   autht   ht   argst   respR$   (    (    s7   /usr/lib64/python2.7/site-packages/M2Crypto/m2urllib.pyt
   open_https   sV    		   
	(
   t   __doc__R   t   sysR%   R   R   R   R	   R4   t	   URLopener(    (    (    s7   /usr/lib64/python2.7/site-packages/M2Crypto/m2urllib.pyt   <module>   s   $
6