Spaces:
Running
Running
| import os | |
| from aiohttp import web | |
| from aiohttp.http_exceptions import BadStatusLine | |
| #--------------------------Local Import -----------------------------# | |
| from ..Functions.downloader import media_streamer | |
| from .render_template import render_page, render_upload | |
| from FileStream.Exceptions import FileNotFound, InvalidHash | |
| #------------------------------Functions------------------------------# | |
| tasks = [] | |
| #@sub_app.get("/watch/{path}", allow_head=True) | |
| async def stream_handler(request: web.Request): | |
| try: | |
| path = request.match_info["path"] | |
| return web.Response(text=await render_page(path), content_type='text/html') | |
| except InvalidHash as e: | |
| raise web.HTTPForbidden(text=e.message) | |
| except FileNotFound as e: | |
| raise web.HTTPNotFound(text=e.message) | |
| except (AttributeError, BadStatusLine, ConnectionResetError): | |
| pass | |
| #@sub_app.get("/up", allow_head=True) | |
| async def upload_handler(request: web.Request): | |
| # global faster_client,index,session, new_file_id | |
| await asyncio.gather(*tasks) | |
| try: | |
| return web.Response(text=await render_upload(), content_type='text/html') | |
| except InvalidHash as e: | |
| raise web.HTTPForbidden(text=e.message) | |
| except FIleNotFound as e: | |
| raise web.HTTPNotFound(text=e.message) | |
| except (AttributeError, BadStatusLine, ConnectionResetError): | |
| pass | |