From 6737dfa43cf00f980c2972194704ac7719060203 Mon Sep 17 00:00:00 2001 From: ptiurin Date: Wed, 24 May 2023 14:25:29 +0100 Subject: [PATCH 1/2] build: new httpcore backwards compatibility --- src/firebolt/async_db/connection.py | 14 +++++++++----- src/firebolt/db/connection.py | 10 +++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/firebolt/async_db/connection.py b/src/firebolt/async_db/connection.py index 382b19d20a1..245d7cafc5c 100644 --- a/src/firebolt/async_db/connection.py +++ b/src/firebolt/async_db/connection.py @@ -4,10 +4,10 @@ import socket from json import JSONDecodeError from types import TracebackType -from typing import Any, Dict, Iterable, List, Optional +from typing import Any, Dict, List, Optional from httpcore.backends.auto import AutoBackend -from httpcore.backends.base import SOCKET_OPTION, AsyncNetworkStream +from httpcore.backends.base import AsyncNetworkStream from httpx import AsyncHTTPTransport, HTTPStatusError, RequestError, Timeout from firebolt.async_db.cursor import Cursor @@ -140,10 +140,14 @@ async def connect_tcp( port: int, timeout: Optional[float] = None, local_address: Optional[str] = None, - socket_options: Optional[Iterable[SOCKET_OPTION]] = None, + **kwargs: Any, ) -> AsyncNetworkStream: - stream = await super().connect_tcp( - host, port, timeout=timeout, local_address=local_address + stream = await super().connect_tcp( # type: ignore [call-arg] + host, + port, + timeout=timeout, + local_address=local_address, + **kwargs, ) # Enable keepalive stream.get_extra_info("socket").setsockopt( diff --git a/src/firebolt/db/connection.py b/src/firebolt/db/connection.py index e4b2a74e088..f02449b1d74 100644 --- a/src/firebolt/db/connection.py +++ b/src/firebolt/db/connection.py @@ -4,10 +4,10 @@ import socket from json import JSONDecodeError from types import TracebackType -from typing import Any, Dict, Iterable, List, Optional +from typing import Any, Dict, List, Optional from warnings import warn -from httpcore.backends.base import SOCKET_OPTION, NetworkStream +from httpcore.backends.base import NetworkStream from httpcore.backends.sync import SyncBackend from httpx import HTTPStatusError, HTTPTransport, RequestError, Timeout from readerwriterlock.rwlock import RWLockWrite @@ -131,14 +131,14 @@ def connect_tcp( port: int, timeout: Optional[float] = None, local_address: Optional[str] = None, - socket_options: Optional[Iterable[SOCKET_OPTION]] = None, + **kwargs: Any, ) -> NetworkStream: - stream = super().connect_tcp( + stream = super().connect_tcp( # type: ignore [call-arg] host, port, timeout=timeout, local_address=local_address, - socket_options=socket_options, + **kwargs, ) # Enable keepalive stream.get_extra_info("socket").setsockopt( From d387f70a5f419503a5b7b672b6711b3af9d8d420 Mon Sep 17 00:00:00 2001 From: ptiurin Date: Wed, 24 May 2023 14:51:41 +0100 Subject: [PATCH 2/2] Ignore mypy issue with new lib --- src/firebolt/async_db/connection.py | 2 +- src/firebolt/db/connection.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/firebolt/async_db/connection.py b/src/firebolt/async_db/connection.py index 245d7cafc5c..c7d2dc21fa2 100644 --- a/src/firebolt/async_db/connection.py +++ b/src/firebolt/async_db/connection.py @@ -134,7 +134,7 @@ class OverriddenHttpBackend(AutoBackend): and `KEEPIDLE` settings. """ - async def connect_tcp( + async def connect_tcp( # type: ignore [override] self, host: str, port: int, diff --git a/src/firebolt/db/connection.py b/src/firebolt/db/connection.py index f02449b1d74..3a29d7852e5 100644 --- a/src/firebolt/db/connection.py +++ b/src/firebolt/db/connection.py @@ -125,7 +125,7 @@ class OverriddenHttpBackend(SyncBackend): and `KEEPIDLE` settings. """ - def connect_tcp( + def connect_tcp( # type: ignore [override] self, host: str, port: int,