def _GetRoute(self, service_ref):
        """Return the relevant Route from the server, or None if 404."""
        messages = self._messages_module
        # GET the Route
        route_name = self._registry.Parse(
            service_ref.servicesId,
            params={
                'namespacesId': service_ref.namespacesId,
            },
            collection='run.namespaces.routes').RelativeName()
        route_get_request = messages.RunNamespacesRoutesGetRequest(
            name=route_name, )

        try:
            with metrics.RecordDuration(metric_names.GET_ROUTE):
                route_get_response = self._client.namespaces_routes.Get(
                    route_get_request)
            return route.Route(route_get_response, messages)
        except api_exceptions.HttpNotFoundError:
            return None
    def GetRoute(self, service_or_route_ref):
        """Return the relevant Route from the server, or None if 404."""
        messages = self._messages_module
        if hasattr(service_or_route_ref, 'servicesId'):
            name = self._registry.Parse(
                service_or_route_ref.servicesId,
                params={
                    'namespacesId': service_or_route_ref.namespacesId,
                },
                collection='serverless.namespaces.routes').RelativeName()
        else:
            name = service_or_route_ref.RelativeName()
        route_get_request = (messages.ServerlessNamespacesRoutesGetRequest(
            name=name))

        try:
            with metrics.record_duration(metrics.GET_ROUTE):
                route_get_response = self._client.namespaces_routes.Get(
                    route_get_request)
            return route.Route(route_get_response, messages)
        except api_exceptions.HttpNotFoundError:
            return None