File: //lib/python3.6/site-packages/botocore/__pycache__/compat.cpython-36.pyc
3
�T_�- � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dl
mZ d dlm
Z
d dlmZ d dlmZ eje�Zej�r�d dlmZ G dd � d ej�Zd d
lmZ d dlmZ d dlmZ d d
lmZ d dlmZ d dlm Z d dlm!Z! d dlm"Z" d dlm#Z# d dlm$Z$ d dl%m&Z& d dl'm(Z) d dl*m+Z+ d dl,m-Z- d dl.m/Z/ e)Z0e1Z1eZ2dd� Z3dd� Z4dDdd�Z5dEd!d"�Z6�nd d
l7mZ d dl7mZ d dl7mZ d d
l7mZ d dlmZ d dlm Z d dlm!Z! d dlm"Z" d dlm#Z# d dlm$Z$ d d#l8m9Z9 d dl:m-Z- e;Z0d d$l.m<Z1 d d%l.m=Z/ d dl>m&Z& d d&l*m?Z+ G d'd � d e9�ZdFd(d)�Z2d*d� Z3d+d� Z4dGd,d�Z5dHd-d"�Z6d d.l@mAZA yd dlBjCjDZEW n" eFk
�r� d dlGjCjHZEY nX eEjIZJd dlKZKd/d0� ZLeMd1d2� �ZNeMd3d4� �ZOeNe_NeOe_Od5d6� ZPd7d8� ZQyejR� d9ZSW n eTk
�rJ d:ZSY nX d;d<� ZUdId=d>�ZVd?d@� ZWdAdB� ZXyd dClYmZZZ W n" eFk
�r� d dCl@mZZZ Y nX dS )J� N)�floor)�six)�MD5UnavailableError)�tzlocal)�
exceptions)�http_clientc @ s e Zd ZdS )�HTTPHeadersN)�__name__�
__module__�__qualname__� r r �/usr/lib/python3.6/compat.pyr # s r )�quote)� urlencode)�unquote)�unquote_plus)�urlparse)�urlsplit)�
urlunsplit)�urljoin)� parse_qsl)�parse_qs)�HTTPResponse)�IOBase)�encodebytes)�
formatdate)�zip_longestc C s | j jjjj|� dS )z�Set the timeout of the socket from an HTTPResponse.
:param http_response: An instance of ``httplib.HTTPResponse``
N)�_fp�fp�raw�_sock�
settimeout)�
http_response�timeoutr r r
�set_socket_timeout= s r$ c C s t j| �d S )N� )�inspectZgetfullargspec)�funcr r r
�accepts_kwargsE s r( c C s | S )Nr )�s�encoding�errorsr r r
�ensure_unicodeJ s r, �utf-8�strictc C s8 t | t�r| j||�S t | t�r$| S tdt| � ��d S )Nz#Expected str or bytes, received %s.)�
isinstance�str�encode�bytes�
ValueError�type)r) r* r+ r r r
�ensure_bytesN s
r5 )�Message)�izip)�izip_longest)�encodestringc @ s e Zd Zdd� ZdS )r c c s x| j D ]\}}|V qW d S )N)Z_headers)�selfZfield�valuer r r
�__iter__l s zHTTPHeaders.__iter__N)r r
r r<