aboutsummaryrefslogtreecommitdiffstats
path: root/backend/route.py
diff options
context:
space:
mode:
authorGravatar Joe Banks <[email protected]>2020-10-25 19:50:36 +0000
committerGravatar Joe Banks <[email protected]>2020-10-25 19:50:36 +0000
commita68686f9d77147fb034d6dea646b3fb9336faf2e (patch)
treebf4f04868840a54c1c853bf961e5eae9db428f23 /backend/route.py
parentAdd database middleware (diff)
Add route class and route manager for dynamic route loading
Diffstat (limited to 'backend/route.py')
-rw-r--r--backend/route.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/backend/route.py b/backend/route.py
new file mode 100644
index 0000000..af68b93
--- /dev/null
+++ b/backend/route.py
@@ -0,0 +1,17 @@
+"""
+Base class for implementing dynamic routing.
+"""
+from starlette.endpoints import HTTPEndpoint
+
+
+class Route(HTTPEndpoint):
+ name: str = None
+ path: str = None
+
+ @classmethod
+ def check_parameters(cls):
+ if cls.name is None:
+ raise ValueError(f"Route {cls.__name__} has not defined a name")
+
+ if cls.path is None:
+ raise ValueError(f"Route {cls.__name__} has not defined a path")