docs: def route(self, path):
          # type: (str)->Tuple[Any, Callable]
          """
          Returns the task handling the given request path.
          """
          logging.getLogger(__name__).debug("Routing path '%s'.", path)
  
          cls = None
          for strategy in self._strategies:
              if strategy.can_route(path):
                  cls = strategy.route(path)
                  break
  
          if cls is None:
              raise RoutingError(path)
  
          return self._create_result(cls)