fetch_homeservers: use nio to make aiohttp session
Use a throwaway nio client to make ourself an aiohttp session with proxy support, that way we don't have to depend on aiohttp and aiohttp-socks libraries
This commit is contained in:
parent
bbe6415336
commit
b0d31af3c0
|
@ -21,6 +21,7 @@ import plyer
|
||||||
import pyotherside
|
import pyotherside
|
||||||
import simpleaudio
|
import simpleaudio
|
||||||
from appdirs import AppDirs
|
from appdirs import AppDirs
|
||||||
|
from nio.client.async_client import client_session
|
||||||
|
|
||||||
from . import __app_name__
|
from . import __app_name__
|
||||||
from .errors import MatrixError, MatrixInvalidAccessToken
|
from .errors import MatrixError, MatrixInvalidAccessToken
|
||||||
|
@ -533,9 +534,22 @@ class Backend:
|
||||||
async def fetch_homeservers(self) -> None:
|
async def fetch_homeservers(self) -> None:
|
||||||
"""Retrieve a list of public homeservers and add them to our model."""
|
"""Retrieve a list of public homeservers and add them to our model."""
|
||||||
|
|
||||||
|
@client_session # need to trigger this decorator for creation
|
||||||
|
async def have_session_be_created(*_):
|
||||||
|
pass
|
||||||
|
|
||||||
|
# We just want that client's aiohttp session, that way we don't have
|
||||||
|
# to depend ourselves on aiohttp + aiohttp-socks
|
||||||
|
client = nio.AsyncClient(homeserver="")
|
||||||
|
await have_session_be_created(client)
|
||||||
|
|
||||||
|
session = type(client.client_session)(
|
||||||
|
raise_for_status = True,
|
||||||
|
timeout = type(client.client_session.timeout)(total=20),
|
||||||
|
connector = client.client_session.connector,
|
||||||
|
)
|
||||||
|
|
||||||
api_list = "https://publiclist.anchel.nl/publiclist.json"
|
api_list = "https://publiclist.anchel.nl/publiclist.json"
|
||||||
tmout = aiohttp.ClientTimeout(total=20)
|
|
||||||
session = aiohttp.ClientSession(raise_for_status=True, timeout=tmout)
|
|
||||||
response = await session.get(api_list)
|
response = await session.get(api_list)
|
||||||
coros = []
|
coros = []
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user