File: //usr/lib/python3/dist-packages/S3/__pycache__/Custom_httplib27.cpython-310.pyc
o
�Qa� � @ s d dl mZmZ d dlZd dlZd dlmZmZmZmZm Z m
Z
mZmZm
Z
mZ zd dlmZ W n ey? d dlmZ Y nw ddlmZ g d�Zdd � Zd
d� Zdd
� Zddd�ZdZddd�ZG dd� de�Zdd� Zeej_eej_ eej_!eej_"eej_#eej_$dS )� )�absolute_import�print_functionN)
�_CS_REQ_SENT�_CS_REQ_STARTED�CONTINUE�UnknownProtocol�CannotSendHeader�
NO_CONTENT�NOT_MODIFIED�EXPECTATION_FAILED�HTTPMessage�
HTTPException)�StringIO� )�encode_to_s3)�PATCH�POST�PUTc C s� | j durdS | �� \}}}|| _|�� | _|dkrd| _n|�d�r'd| _n|dkr/d| _nt|��| jdkrId| _d| _ d | _
tt� �| _ dS t| j
d�| _ | jdkrc| j jD ] }td
|dd� qYd| j _
| j �d
�}|r||�� dkr|d | _ d| _nd| _ | �� | _
| j �d�}|r�| j s�zt|�| _W n ty� d| _Y n
w | jdk r�d| _nd| _|tks�|tks�d| kr�dk s�n | jdkr�d| _| j
s�| j s�| jdu r�d | _
dS dS dS dS )z� Re-implemented httplib begin function
to not loop over "100 CONTINUE" status replies
but to report it to higher level so it can be processed.
NzHTTP/1.0�
zHTTP/1.� zHTTP/0.9� r r zheader:� )�endztransfer-encoding�chunked�content-length�d �� �HEAD)�msg�_read_status�status�strip�reason�version�
startswithr �lengthr �
will_closer r �fp�
debuglevel�headers�print� getheader�lower�
chunk_left�_check_close�int�
ValueErrorr r
�_method)�selfr# r r"