-=[ Mr. Bumblebee ]=-
_Indonesia_
σ
1Oc @@ s d d l m Z d d l m Z m Z d d l m Z d d l m Z d d l m
Z
m Z d e j f d YZ
d Z d S(
i ( t absolute_import( t errorst trace( t http( t handle_response( t Openert Requestt HttpTransport_urllibc B@ sb e Z d Z d Z e Z d d d Z d Z d Z d d Z
d Z d Z d Z
RS(
s+ Python urllib transport for http and https.i c C@ s\ t t | j | d d | | d k r: | j | _ n | j d | j d | | _ d S( Nt urllibt _from_transportt report_activityt ca_certs( t superR t __init__t Nonet _openert
_opener_classt _report_activity( t selft baseR R ( ( sA /usr/lib/python2.7/dist-packages/bzrlib/transport/http/_urllib.pyR
) s c C@ s} | j } | d k r@ | | _ | j \ } } | j n | j } t } | | _ | | _ | j d k r d | j
| j | j f GHn | j
j | } | j | j k rΰ | j | j | j | j f n | j | j | j f | j } | j t k rG| d
k rGt j | j | j d | d k n | j d k ryt j d | j | j f n | S( sm Send the request to the server and handles common errors.
:returns: urllib2 Response object
i s perform: %s base: %s, url: %si- i. i/ i3 t is_permanents redirected from: %s to: %sN( i- i. i/ i3 ( t _get_connectionR t
connectiont _get_credentialst cleanup_pipet _create_autht dictt autht
proxy_autht _debuglevelt methodR t get_full_urlR t opent _set_connectiont _update_credentialst codet follow_redirectionst FalseR t RedirectRequestedt
redirected_toR t mutter( R t requestR R R t responseR# ( ( sA /usr/lib/python2.7/dist-packages/bzrlib/transport/http/_urllib.pyt _perform2 s6
c C@ s) | j } | d k r% | j n d S( N( R R t close( R R ( ( sA /usr/lib/python2.7/dist-packages/bzrlib/transport/http/_urllib.pyt
disconnectc s c
C@ s- | j | } i } d d g } | s- | r | j | | } | d k r | j d | j d | j d d | } i | d 6} q n t d | d | d | } | j | }
|
j } | d k rΰ t j | n( | d k rt j | | d
| n t
| | |
j |
} | | f S(
s See HttpTransport._getiΘ i iΞ i i s bytes=t Ranget GETt accepted_errorss Server return code %dN( i i ( t _remote_patht _attempted_range_headerR t appendR R+ R# R t
NoSuchFilet InvalidHttpRangeR t info(
R t relpatht offsetst tail_amountt abspatht headersR0 t range_headert bytesR) R* R# t data( ( sA /usr/lib/python2.7/dist-packages/bzrlib/transport/http/_urllib.pyt _geth s,
c C@ sn | j d } | j t d | | i d d 6d d d g } | j } t | | | j | } | | f S( Ns
.bzr/smartt POSTs application/octet-streams Content-TypeR0 iΘ i ( R1 R+ R R# R R6 ( R t
body_bytesR: R* R# R>