File: //lib/python3.6/site-packages/botocore/__pycache__/signers.cpython-36.pyc
3
�T_Jn � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZmZ d dl m
Z
mZ d dlm
Z
d dlmZ d dlmZ d dlmZmZ G dd � d e�ZG d
d� de�Zdd
� Zddd�ZG dd� de�Zdd� Zddd�Zdd� Zddd�Zdd� ZdS ) � N)�six�OrderedDict)�create_request_object�prepare_request_dict)�UnknownSignatureVersionError)�UnknownClientMethodError)� UnsupportedSignatureVersionError)�fix_s3_host�datetime2timestampc @ sp e Zd ZdZdd� Zedd� �Zedd� �Zedd � �Zddd�Z ddd�Z
dd� Zddd�ZeZ
ddd�Zd
S )�
RequestSignera0
An object to sign requests before they go out over the wire using
one of the authentication mechanisms defined in ``auth.py``. This
class fires two events scoped to a service and operation name:
* choose-signer: Allows overriding the auth signer name.
* before-sign: Allows mutating the request before signing.
Together these events allow for customization of the request
signing pipeline, including overrides, request path manipulation,
and disabling signing per operation.
:type service_id: botocore.model.ServiceId
:param service_id: The service id for the service, e.g. ``S3``
:type region_name: string
:param region_name: Name of the service region, e.g. ``us-east-1``
:type signing_name: string
:param signing_name: Service signing name. This is usually the
same as the service name, but can differ. E.g.
``emr`` vs. ``elasticmapreduce``.
:type signature_version: string
:param signature_version: Signature name like ``v4``.
:type credentials: :py:class:`~botocore.credentials.Credentials`
:param credentials: User credentials with which to sign requests.
:type event_emitter: :py:class:`~botocore.hooks.BaseEventHooks`
:param event_emitter: Extension mechanism to fire events.
c C s. || _ || _|| _|| _|| _tj|�| _d S )N)�_region_name�
_signing_name�_signature_version�_credentials�_service_id�weakref�proxy�_event_emitter)�selfZ
service_id�region_name�signing_name�signature_version�credentialsZ
event_emitter� r �/usr/lib/python3.6/signers.py�__init__>