Skip to content

Commit 1328357

Browse files
committed
Improve get_http_client method, Remove HTTPClientLibrary enum
1 parent 67ea06b commit 1328357

File tree

1 file changed

+13
-34
lines changed

1 file changed

+13
-34
lines changed

solvedac_community/HTTPClients/httpclient.py

Lines changed: 13 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@
1313
OTHER DEALINGS IN THE SOFTWARE.
1414
"""
1515

16-
import asyncio
17-
from enum import Enum, auto
16+
from enum import Enum
1817
from typing import ClassVar, Optional, Dict, Any
1918

20-
__all__ = ["HTTPClientLibrary", "ResponseData", "RequestMethod", "Route", "get_http_client"]
19+
__all__ = ["ResponseData", "RequestMethod", "Route", "get_http_client"]
2120

2221

2322
class Missing:
@@ -27,42 +26,22 @@ class Missing:
2726
MISSING: Any = Missing()
2827

2928

30-
class HTTPClientLibrary(Enum):
31-
AIOHTTP = auto()
32-
HTTPX = auto()
33-
34-
35-
def get_http_client(
36-
loop: asyncio.AbstractEventLoop, solvedac_token: Optional[str] = None, lib: Optional[HTTPClientLibrary] = None
37-
):
38-
if lib is None:
39-
try:
40-
import aiohttp
41-
from solvedac_community.HTTPClients.aiohttp_client import AiohttpHTTPClient
42-
43-
return AiohttpHTTPClient(loop, solvedac_token)
44-
except ImportError:
45-
pass
46-
47-
try:
48-
import httpx
49-
from solvedac_community.HTTPClients.httpx_client import HttpxHTTPClient
50-
51-
return HttpxHTTPClient(loop, solvedac_token)
52-
except ImportError:
53-
pass
29+
def get_http_client(solvedac_token: Optional[str] = None):
30+
try:
31+
from solvedac_community.HTTPClients.aiohttp_client import AiohttpHTTPClient
5432

55-
raise ImportError("At least one of aiohttp or httpx libraries is required")
33+
return AiohttpHTTPClient(solvedac_token)
34+
except ImportError:
35+
pass
5636

57-
if lib == HTTPClientLibrary.HTTPX:
37+
try:
5838
from solvedac_community.HTTPClients.httpx_client import HttpxHTTPClient
5939

60-
return HttpxHTTPClient(loop, solvedac_token)
61-
62-
elif lib == HTTPClientLibrary.AIOHTTP:
63-
from solvedac_community.HTTPClients.aiohttp_client import AiohttpHTTPClient
40+
return HttpxHTTPClient(solvedac_token)
41+
except ImportError:
42+
pass
6443

65-
return AiohttpHTTPClient(loop, solvedac_token)
44+
raise ImportError("At least one of aiohttp or httpx libraries is required.")
6645

6746

6847
class RequestMethod(Enum):

0 commit comments

Comments
 (0)