import logging import os from fastapi import FastAPI from starlette.routing import Host, Route, Router, WebSocketRoute from ttun_server.endpoints import health, proxy from .websockets import WebsocketProxy, Tunnel logging.basicConfig(level=getattr(logging, os.environ.get('LOG_LEVEL', 'INFO'))) base_router = Router(routes=[ Route('/health/', health), WebSocketRoute('/tunnel/', Tunnel) ]) server = FastAPI( debug=True, routes=[ Host(os.environ['TUNNEL_DOMAIN'], base_router, 'base'), Route('/{path:path}', proxy), WebSocketRoute('/{path:path}', WebsocketProxy) ] ) server.post() try: from ._version import version __version__ = version except ImportError: __version__ = 'development'