code: def _BuildHttpRoutingMap(self, router_cls):
      
  
      if not issubclass(router_cls, api_call_router.ApiCallRouter):
        raise ValueError("Router has to be an instance of ApiCallRouter.")
  
      routing_map = routing.Map()
      # Note: we traverse methods of the base class (ApiCallRouter) to avoid
      # potential problems caused by child router classes using the @Http
      # annotation (thus adding additional unforeseen HTTP paths/methods). We
      # don't want the HTTP API to depend on a particular router implementation.
      for _, metadata in iteritems(router_cls.GetAnnotatedMethods()):
        for http_method, path, unused_options in metadata.http_methods:
          routing_map.add(
              routing.Rule(path, methods=[http_method], endpoint=metadata))
          # This adds support for the next version of the API that uses
          # standartized JSON protobuf serialization.
          routing_map.add(
              routing.Rule(
                  path.replace("/api/", "/api/v2/"),
                  methods=[http_method],
                  endpoint=metadata))
  
      return routing_map
docs: Builds a werkzeug routing map out of a given router class.