'Search for a route that matches the given partial URI.
Args:
uri(str): The requested path to route.
Keyword Args:
req(Request): The Request object that will be passed to
the routed responder. Currently the value of this
argument is ignored by :class:`~.CompiledRouter`.
Routing is based solely on the path.
Returns:
tuple: A 4-member tuple composed of (resource, method_map,
params, uri_template), or ``None`` if no route matches
the requested path.'

def find(self, uri, req=None):

    path = uri.lstrip('/').split('/')
    params = {}
    node = self._find(path, self._return_values, self._patterns, self._converters, params)
    if (node is not None):
        return (node.resource, node.method_map, params, node.uri_template)
    else:
        return None
