2021-08-06 12:59:39 +05:30
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
#
|
|
|
|
|
# The OpenSearch Contributors require contributions made to
|
|
|
|
|
# this file be licensed under the Apache-2.0 license or a
|
|
|
|
|
# compatible open source license.
|
|
|
|
|
#
|
|
|
|
|
# Modifications Copyright OpenSearch Contributors. See
|
|
|
|
|
# GitHub history for details.
|
|
|
|
|
#
|
2020-08-31 11:07:04 -05:00
|
|
|
# Licensed to Elasticsearch B.V. under one or more contributor
|
|
|
|
|
# license agreements. See the NOTICE file distributed with
|
|
|
|
|
# this work for additional information regarding copyright
|
|
|
|
|
# ownership. Elasticsearch B.V. licenses this file to you under
|
|
|
|
|
# the Apache License, Version 2.0 (the "License"); you may
|
|
|
|
|
# not use this file except in compliance with the License.
|
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
|
#
|
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
#
|
|
|
|
|
# Unless required by applicable law or agreed to in writing,
|
|
|
|
|
# software distributed under the License is distributed on an
|
|
|
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
|
|
|
# KIND, either express or implied. See the License for the
|
|
|
|
|
# specific language governing permissions and limitations
|
|
|
|
|
# under the License.
|
|
|
|
|
|
2021-01-13 14:21:04 -06:00
|
|
|
from typing import Any, Callable, Collection, Dict, List, Mapping, Optional, Type, Union
|
2020-08-31 11:07:04 -05:00
|
|
|
|
|
|
|
|
from ..connection import Connection
|
|
|
|
|
from ..connection_pool import ConnectionPool
|
2021-01-13 14:21:04 -06:00
|
|
|
from ..serializer import Deserializer, Serializer
|
2020-08-31 11:07:04 -05:00
|
|
|
|
|
|
|
|
class AsyncTransport(object):
|
|
|
|
|
DEFAULT_CONNECTION_CLASS: Type[Connection]
|
|
|
|
|
connection_pool: ConnectionPool
|
|
|
|
|
deserializer: Deserializer
|
|
|
|
|
|
|
|
|
|
max_retries: int
|
|
|
|
|
retry_on_timeout: bool
|
|
|
|
|
retry_on_status: Collection[int]
|
|
|
|
|
send_get_body_as: str
|
|
|
|
|
serializer: Serializer
|
|
|
|
|
connection_pool_class: Type[ConnectionPool]
|
|
|
|
|
connection_class: Type[Connection]
|
|
|
|
|
kwargs: Any
|
|
|
|
|
hosts: Optional[List[Dict[str, Any]]]
|
|
|
|
|
seed_connections: List[Connection]
|
|
|
|
|
sniffer_timeout: Optional[float]
|
|
|
|
|
sniff_on_start: bool
|
|
|
|
|
sniff_on_connection_fail: bool
|
|
|
|
|
last_sniff: float
|
|
|
|
|
sniff_timeout: Optional[float]
|
|
|
|
|
host_info_callback: Callable[
|
|
|
|
|
[Dict[str, Any], Optional[Dict[str, Any]]], Dict[str, Any]
|
|
|
|
|
]
|
|
|
|
|
def __init__(
|
|
|
|
|
self,
|
|
|
|
|
hosts: Any,
|
|
|
|
|
connection_class: Optional[Type[Any]] = ...,
|
|
|
|
|
connection_pool_class: Type[ConnectionPool] = ...,
|
|
|
|
|
host_info_callback: Callable[
|
|
|
|
|
[Dict[str, Any], Dict[str, Any]], Optional[Dict[str, Any]]
|
|
|
|
|
] = ...,
|
|
|
|
|
sniff_on_start: bool = ...,
|
2020-09-28 09:14:03 -05:00
|
|
|
sniffer_timeout: Optional[float] = ...,
|
|
|
|
|
sniff_timeout: float = ...,
|
2020-08-31 11:07:04 -05:00
|
|
|
sniff_on_connection_fail: bool = ...,
|
|
|
|
|
serializer: Serializer = ...,
|
|
|
|
|
serializers: Optional[Mapping[str, Serializer]] = ...,
|
|
|
|
|
default_mimetype: str = ...,
|
|
|
|
|
max_retries: int = ...,
|
|
|
|
|
retry_on_status: Collection[int] = ...,
|
|
|
|
|
retry_on_timeout: bool = ...,
|
|
|
|
|
send_get_body_as: str = ...,
|
|
|
|
|
**kwargs: Any
|
|
|
|
|
) -> None: ...
|
|
|
|
|
def add_connection(self, host: Any) -> None: ...
|
|
|
|
|
def set_connections(self, hosts: Collection[Any]) -> None: ...
|
|
|
|
|
def get_connection(self) -> Connection: ...
|
|
|
|
|
def sniff_hosts(self, initial: bool = ...) -> None: ...
|
|
|
|
|
def mark_dead(self, connection: Connection) -> None: ...
|
|
|
|
|
async def perform_request(
|
|
|
|
|
self,
|
|
|
|
|
method: str,
|
|
|
|
|
url: str,
|
|
|
|
|
headers: Optional[Mapping[str, str]] = ...,
|
|
|
|
|
params: Optional[Mapping[str, Any]] = ...,
|
|
|
|
|
body: Optional[Any] = ...,
|
2020-09-28 09:14:03 -05:00
|
|
|
) -> Union[bool, Any]: ...
|
2020-08-31 11:07:04 -05:00
|
|
|
async def close(self) -> None: ...
|