docs: def _partial_build(self, endpoint, values, method, append_unknown):
          """Helper for :meth:`build`.  Returns subdomain and path for the
          rule that accepts this endpoint, values and method.
  
          :internal:
          """
          # in case the method is none, try with the default method first
          if method is None:
              rv = self._partial_build(
                  endpoint, values, self.default_method, append_unknown
              )
              if rv is not None:
                  return rv
  
          # default method did not match or a specific method is passed,
          # check all and go with first result.
          for rule in self.map._rules_by_endpoint.get(endpoint, ()):
              if rule.suitable_for(values, method):
                  rv = rule.build(values, append_unknown)
                  if rv is not None:
                      return rv