File: //opt/alt/python37/lib/python3.7/site-packages/botocore/__pycache__/auth.cpython-37.pyc
B
�P�e� � @ s\ d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dl
mZ d dlm
Z
mZ d dlmZ d dlmZmZmZmZmZmZmZmZmZ d dlmZmZ d dlmZm Z m!Z! d d lm"Z" e�#e$�Z%d
Z&dZ'dZ(d
Z)dddgZ*dZ+dZ,dd� Z-dd� Z.G dd� d�Z/G dd� de/�Z0G dd� de/�Z1G dd� de/�Z2G dd � d e/�Z3G d!d"� d"e3�Z4G d#d$� d$e4�Z5G d%d&� d&e5�Z6G d'd(� d(e5�Z7G d)d*� d*e3�Z8G d+d,� d,e8�Z9G d-d.� d.e3�Z:G d/d0� d0e/�Z;G d1d2� d2e;�Z<G d3d4� d4e;�Z=G d5d6� d6e0�Z>e1e2e2e;e<e=e:e5e7e6e>d7�Z?e�rDd d8l@mAZA e?�BeA� ne?�Be3e8e4e9d9�� dS ):� N)�Mapping)�
formatdate)�sha1�sha256)�
itemgetter) �HAS_CRT�HTTPHeaders�encodebytes�ensure_unicode�parse_qs�quote�unquote�urlsplit�
urlunsplit)�NoAuthTokenError�NoCredentialsError)�is_valid_ipv6_endpoint_url�normalize_url_path�percent_encode_sequence)�
MD5_AVAILABLEZ@e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855i z%Y-%m-%dT%H:%M:%SZz%Y%m%dT%H%M%SZ�expectz
user-agentzx-amzn-trace-idzUNSIGNED-PAYLOADz"STREAMING-UNSIGNED-PAYLOAD-TRAILERc C sZ t | �}|j}t| �r"d|� d�}ddd�}|jd k rV|j|�|j�krVd||jf }|S )N�[�]�P i� )�http�httpsz%s:%d)r �hostnamer �port�get�scheme)�url� url_parts�hostZ
default_ports� r# �>/opt/alt/python37/lib/python3.7/site-packages/botocore/auth.py�_host_from_urlF s
r% c C s: | j }t|t�r"t�|�d��}nt|t�r6t�|�}|S )Nzutf-8)�data�
isinstance�bytes�json�loads�decode�str)�requestr&