mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-07-09 02:06:30 +00:00
Change aiohttp handling for server (#511)
This commit is contained in:
parent
7769d6fff1
commit
20e73796b8
@ -30,8 +30,8 @@ class RestAPI(CoreSysAttributes):
|
|||||||
middlewares=[self.security.token_validation], loop=coresys.loop)
|
middlewares=[self.security.token_validation], loop=coresys.loop)
|
||||||
|
|
||||||
# service stuff
|
# service stuff
|
||||||
self._handler = None
|
self._runner = web.AppRunner(self.webapp)
|
||||||
self.server = None
|
self._site = web.TCPSite(self._runner, "0.0.0.0", 80)
|
||||||
|
|
||||||
async def load(self):
|
async def load(self):
|
||||||
"""Register REST API Calls."""
|
"""Register REST API Calls."""
|
||||||
@ -220,22 +220,15 @@ class RestAPI(CoreSysAttributes):
|
|||||||
|
|
||||||
async def start(self):
|
async def start(self):
|
||||||
"""Run rest api webserver."""
|
"""Run rest api webserver."""
|
||||||
self._handler = self.webapp.make_handler()
|
await self._runner.setup()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.server = await self.sys_loop.create_server(
|
await self._site.start()
|
||||||
self._handler, "0.0.0.0", "80")
|
|
||||||
except OSError as err:
|
except OSError as err:
|
||||||
_LOGGER.fatal(
|
_LOGGER.fatal(
|
||||||
"Failed to create HTTP server at 0.0.0.0:80 -> %s", err)
|
"Failed to create HTTP server at 0.0.0.0:80 -> %s", err)
|
||||||
|
|
||||||
async def stop(self):
|
async def stop(self):
|
||||||
"""Stop rest api webserver."""
|
"""Stop rest api webserver."""
|
||||||
if self.server:
|
await self._site.stop()
|
||||||
self.server.close()
|
await self._runner.cleanup()
|
||||||
await self.server.wait_closed()
|
|
||||||
await self.webapp.shutdown()
|
|
||||||
|
|
||||||
if self._handler:
|
|
||||||
await self._handler.shutdown(60)
|
|
||||||
await self.webapp.cleanup()
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user