Skip to content

Commit e5051bb

Browse files
committed
Merge branch 'main' into feature/conduits
2 parents c893ff4 + cc2166b commit e5051bb

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

twitchio/client.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,8 @@ async def set_adapter(self, adapter: BaseAdapter) -> None:
202202
if self._setup_called:
203203
await self._adapter.run()
204204

205+
self._adapter.client = self
206+
205207
@property
206208
def tokens(self) -> MappingProxyType[str, TokenMappingData]:
207209
"""Property which returns a read-only mapping of the tokens that are managed by the `Client`.

twitchio/web/starlette_adapter.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ def __init__(
174174
on_startup=[self.event_startup],
175175
)
176176
self._closing: bool = False
177+
self._server: uvicorn.Server | None = None
177178

178179
def __repr__(self) -> str:
179180
return f'{self.__class__.__name__}(host="{self._host}", port={self._port})'
@@ -215,7 +216,11 @@ async def close(self, with_client: bool = True) -> None:
215216
if with_client:
216217
await self.client.close()
217218

219+
if self._server:
220+
await self._server.shutdown()
221+
218222
logger.info("Successfully shutdown TwitchIO <%s>.", self.__class__.__qualname__)
223+
self._closing = False
219224

220225
def _task_callback(self, task: asyncio.Task[None]) -> None:
221226
if not task.done():
@@ -243,8 +248,10 @@ async def run(self, host: str | None = None, port: int | None = None) -> None:
243248
timeout_graceful_shutdown=3,
244249
)
245250

246-
server: uvicorn.Server = uvicorn.Server(config)
247-
self._runner_task = asyncio.create_task(server.serve(), name=f"twitchio-web-adapter:{self.__class__.__qualname__}")
251+
self._server = uvicorn.Server(config)
252+
self._runner_task = asyncio.create_task(
253+
self._server.serve(), name=f"twitchio-web-adapter:{self.__class__.__qualname__}"
254+
)
248255
self._runner_task.add_done_callback(self._task_callback)
249256

250257
async def eventsub_callback(self, request: Request) -> Response:

0 commit comments

Comments
 (0)