MCPcopy Index your code
hub / github.com/PyGithub/PyGithub / add_parameters_to_url

Method add_parameters_to_url

github/Requester.py:496–512  ·  view source on GitHub ↗
(
        url: str,
        parameters: dict[str, Any],
    )

Source from the content-addressed store, hash-verified

494
495 @staticmethod
496 def add_parameters_to_url(
497 url: str,
498 parameters: dict[str, Any],
499 ) -> str:
500 scheme, netloc, url, params, query, fragment = urllib.parse.urlparse(url)
501 url_params = urllib.parse.parse_qs(query)
502 # union parameters in url with given parameters, the latter has precedence
503 url_params.update(**{k: v if isinstance(v, list) else [v] for k, v in parameters.items()})
504 parameter_list = [(key, value) for key, values in url_params.items() for value in values]
505 # remove query from url
506 url = urllib.parse.urlunparse((scheme, netloc, url, params, "", fragment))
507
508 if len(parameter_list) == 0:
509 return url
510 else:
511 # we need deterministic URLs for stable test assertions
512 return f"{url}?{urllib.parse.urlencode(sorted(parameter_list))}"
513
514 def close(self) -> None:
515 """

Callers 2

__requestEncodeMethod · 0.80

Calls 1

updateMethod · 0.45

Tested by

no test coverage detected