This extracts all parameters from URL paths for logging.

    This extracts the name of all parameters that are sent inside the
    URL path for the given route. For example the path
    /api/clients/<client_id>/last-ip would return ["client_id"].

    Some URL paths contain annotated parameters - for example paths as
    in /api/clients/<client_id>/vfs-index/<path:file_path>. Those
    annotations will be stripped off by this function and just the
    plain parameter name will be returned.

    Returns:
      A list of extracted parameters.

def GetQueryParamsNames(self):
    """This extracts all parameters from URL paths for logging.

    This extracts the name of all parameters that are sent inside the
    URL path for the given route. For example the path
    /api/clients/<client_id>/last-ip would return ["client_id"].

    Some URL paths contain annotated parameters - for example paths as
    in /api/clients/<client_id>/vfs-index/<path:file_path>. Those
    annotations will be stripped off by this function and just the
    plain parameter name will be returned.

    Returns:
      A list of extracted parameters.
    """
    result = []
    for unused_method, path, unused_params in self.http_methods or []:
      for arg in re.findall(self._RULE_REGEX, path):
        if ":" in arg:
          arg = arg[arg.find(":") + 1:]
        result.append(arg)
    return result