code: def match(self, request, *, root=None, path=None, methods=None):
          
          match = Match()
          if path is not None:
              pattern = self.__get_pattern(path)
              match = pattern.match(request.path)
          elif root is not None:
              pattern = self.__get_pattern(root)
              match = pattern.match(request.path, left=True)
          if not match:
              return None
          if methods:
              methods = map(str.upper, methods)
              if request.method not in methods:
                  return None
          return match
docs: Return match or None for the request/constraints pair.
  
          Parameters
          ----------
          request: :class:`.http.Request`
              Request instance.
          root: str
              HTTP path root.
          path: str
              HTTP path.
          methods: list
              HTTP methods.
  
          Returns
          -------
          :class:`.Match`/None
              Match instance (True) or None (False).