aboutsummaryrefslogtreecommitdiffstats
path: root/backend/route.py
blob: af68b93c18614b149f7f67bb7df744ee86f0baa2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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")