Skip to content

Commit 2e6fd90

Browse files
committed
migrated to httpx
1 parent 6c7234f commit 2e6fd90

File tree

1 file changed

+6
-25
lines changed

1 file changed

+6
-25
lines changed
Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,22 @@
1-
from aiohttp import ClientSession, ClientTimeout
2-
from common_library.json_serialization import json_dumps
1+
import httpx
32
from fastapi import FastAPI
4-
from servicelib.utils import (
5-
get_http_client_request_aiohttp_connect_timeout,
6-
get_http_client_request_aiohttp_sock_connect_timeout,
7-
get_http_client_request_total_timeout,
8-
)
93

104

115
def setup_client_session(app: FastAPI) -> None:
126
async def on_startup() -> None:
13-
# SEE https://github.com/ITISFoundation/osparc-simcore/issues/4628
14-
15-
# ANE: it is important to have fast connection handshakes
16-
# also requests should be as fast as possible
17-
# some services are not that fast to reply
18-
timeout_settings = ClientTimeout(
19-
total=get_http_client_request_total_timeout(),
20-
connect=get_http_client_request_aiohttp_connect_timeout(),
21-
sock_connect=get_http_client_request_aiohttp_sock_connect_timeout(),
22-
)
23-
session = ClientSession(
24-
timeout=timeout_settings,
25-
json_serialize=json_dumps,
26-
)
7+
session = httpx.AsyncClient(transport=httpx.AsyncHTTPTransport(http2=True))
278
app.state.aiohttp_client_session = session
289

2910
async def on_shutdown() -> None:
3011
session = app.state.aiohttp_client_session
31-
assert isinstance(session, ClientSession) # nosec
32-
await session.close()
12+
assert isinstance(session, httpx.AsyncClient) # nosec
13+
await session.aclose()
3314

3415
app.add_event_handler("startup", on_startup)
3516
app.add_event_handler("shutdown", on_shutdown)
3617

3718

38-
def get_client_session(app: FastAPI) -> ClientSession:
19+
def get_client_session(app: FastAPI) -> httpx.AsyncClient:
3920
session = app.state.aiohttp_client_session
40-
assert isinstance(session, ClientSession) # nosec
21+
assert isinstance(session, httpx.AsyncClient) # nosec
4122
return session

0 commit comments

Comments
 (0)