summaryrefslogtreecommitdiffstats
path: root/ttun_server/__init__.py
blob: 6c77858a3927fc1b80f5cc906062b8c4eef00c28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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'