home-assistant/custom_components/hacs/webresponses/frontend.py

27 lines
873 B
Python

from aiohttp import web
from homeassistant.components.http import HomeAssistantView
from custom_components.hacs.share import get_hacs
class HacsFrontendDev(HomeAssistantView):
"""Dev View Class for HACS."""
requires_auth = False
name = "hacs_files:frontend"
url = r"/hacsfiles/frontend/{requested_file:.+}"
async def get(self, request, requested_file): # pylint: disable=unused-argument
"""Handle HACS Web requests."""
hacs = get_hacs()
requested = requested_file.split("/")[-1]
request = await hacs.session.get(
f"{hacs.configuration.frontend_repo_url}/{requested}"
)
if request.status == 200:
result = await request.read()
response = web.Response(body=result)
response.headers["Content-Type"] = "application/javascript"
return response