docs: def match(self, method, path):
          """find handler from registered rules
  
          Example:
  
              handler, params = match('GET', '/path')
  
          """
          segments = path.split('/')
          while len(segments):
              index = '/'.join(segments)
              if index in self.__idx__:
                  handler, params = self.match_rule(method, path,
                                                    self.__idx__[index])
                  if handler:
                      return handler, params
              segments.pop()
          return None, None