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
|
import logging
import os
from fastapi import FastAPI
from starlette.routing import Host, Route, WebSocketRoute, Mount
from authentication.endpoints import authentication, oauth
from proxy import app as proxy_app
from ttun_server.endpoints import health
from ttun_server.websockets import tunnel
logging.basicConfig(level=getattr(logging, os.environ.get('LOG_LEVEL', 'INFO')))
app = FastAPI(
debug=True,
routes=[
Mount('/auth/', app=authentication),
Mount('/oauth/', app=oauth),
WebSocketRoute('/tunnel/', endpoint=tunnel),
Route('/health/', endpoint=health),
Host(f'{{subdomain}}.{os.environ['TUNNEL_DOMAIN']}', app=proxy_app)
]
)
try:
from ._version import version
__version__ = version
except ImportError:
__version__ = 'development'
|