from abc import ABCMeta, abstractmethod
from typing import Optional

from ._FoundRoute import FoundRoute
from ._Route import Route


class HttpRouter(object):
    __meta__ = ABCMeta

    @abstractmethod
    def get_route(self, route):
        # type: (Route) -> Optional[FoundRoute]
        raise NotImplementedError()
