diff options
| author | 2022-12-21 12:21:29 +0100 | |
|---|---|---|
| committer | 2022-12-21 12:21:29 +0100 | |
| commit | 8638e9b2fb1cf2e7e26aa95f734c3d5b8f5928a5 (patch) | |
| tree | c340161f5ad91690c4168f9abe6d88cef7309acc /ttun_server | |
| parent | b104bb54714fa594be8aec3cb3bfda6a062eb15b (diff) | |
| parent | 324f7692e790e53ecc52a22c0df9372c1ae95930 (diff) | |
| download | server-1.2.0.tar.gz server-1.2.0.tar.bz2 server-1.2.0.zip | |
Merge pull request #5 from paneidos/healthcheckv1.2.0
Add healthcheck endpoint
Diffstat (limited to 'ttun_server')
| -rw-r--r-- | ttun_server/__init__.py | 11 | ||||
| -rw-r--r-- | ttun_server/endpoints.py | 8 |
2 files changed, 16 insertions, 3 deletions
diff --git a/ttun_server/__init__.py b/ttun_server/__init__.py index cf589cc..17a8e7a 100644 --- a/ttun_server/__init__.py +++ b/ttun_server/__init__.py | |||
| @@ -2,16 +2,21 @@ import logging | |||
| 2 | import os | 2 | import os |
| 3 | 3 | ||
| 4 | from starlette.applications import Starlette | 4 | from starlette.applications import Starlette |
| 5 | from starlette.routing import Route, WebSocketRoute | 5 | from starlette.routing import Route, WebSocketRoute, Host, Router |
| 6 | 6 | ||
| 7 | from ttun_server.endpoints import Proxy, Tunnel | 7 | from ttun_server.endpoints import Proxy, Tunnel, Health |
| 8 | 8 | ||
| 9 | logging.basicConfig(level=getattr(logging, os.environ.get('LOG_LEVEL', 'INFO'))) | 9 | logging.basicConfig(level=getattr(logging, os.environ.get('LOG_LEVEL', 'INFO'))) |
| 10 | 10 | ||
| 11 | base_router = Router(routes=[ | ||
| 12 | Route('/health/', Health), | ||
| 13 | WebSocketRoute('/tunnel/', Tunnel) | ||
| 14 | ]) | ||
| 15 | |||
| 11 | server = Starlette( | 16 | server = Starlette( |
| 12 | debug=True, | 17 | debug=True, |
| 13 | routes=[ | 18 | routes=[ |
| 19 | Host(os.environ['TUNNEL_DOMAIN'], base_router, 'base'), | ||
| 14 | Route('/{path:path}', Proxy), | 20 | Route('/{path:path}', Proxy), |
| 15 | WebSocketRoute('/tunnel/', Tunnel) | ||
| 16 | ] | 21 | ] |
| 17 | ) | 22 | ) |
diff --git a/ttun_server/endpoints.py b/ttun_server/endpoints.py index b33fe65..b25ffe4 100644 --- a/ttun_server/endpoints.py +++ b/ttun_server/endpoints.py | |||
| @@ -55,6 +55,14 @@ class Proxy(HTTPEndpoint): | |||
| 55 | await response(self.scope, self.receive, self.send) | 55 | await response(self.scope, self.receive, self.send) |
| 56 | 56 | ||
| 57 | 57 | ||
| 58 | class Health(HTTPEndpoint): | ||
| 59 | async def get(self, _) -> None: | ||
| 60 | response = Response(content='OK', status_code=200) | ||
| 61 | |||
| 62 | await response(self.scope, self.receive, self.send) | ||
| 63 | |||
| 64 | |||
| 65 | |||
| 58 | class Tunnel(WebSocketEndpoint): | 66 | class Tunnel(WebSocketEndpoint): |
| 59 | encoding = 'json' | 67 | encoding = 'json' |
| 60 | 68 | ||
