From 9debcf2bd9db35897231ce2127ee725be3a54827 Mon Sep 17 00:00:00 2001 From: pranavkeerti66-hue Date: Sun, 30 Nov 2025 13:27:07 +0530 Subject: [PATCH] rename the function to something non-assertive (check_header_parsing) and keep proper exception-raising behavior. --- .../vcs/pip/_vendor/urllib3/util/response.py | 24 +++---------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/src/fetchcode/vcs/pip/_vendor/urllib3/util/response.py b/src/fetchcode/vcs/pip/_vendor/urllib3/util/response.py index 5ea609cc..f7141591 100644 --- a/src/fetchcode/vcs/pip/_vendor/urllib3/util/response.py +++ b/src/fetchcode/vcs/pip/_vendor/urllib3/util/response.py @@ -37,21 +37,17 @@ def is_fp_closed(obj): raise ValueError("Unable to determine whether fp is closed.") -def assert_header_parsing(headers): +def check_header_parsing(headers): """ - Asserts whether all headers have been successfully parsed. + Validates whether all headers have been successfully parsed. Extracts encountered errors from the result of parsing headers. - Only works on Python 3. - :param http.client.HTTPMessage headers: Headers to verify. :raises urllib3.exceptions.HeaderParsingError: If parsing errors are found. """ - # This will fail silently if we pass in the wrong kind of parameter. - # To make debugging easier add an explicit check. if not isinstance(headers, httplib.HTTPMessage): raise TypeError("expected httplib.Message, got {0}.".format(type(headers))) @@ -60,25 +56,12 @@ def assert_header_parsing(headers): unparsed_data = None if get_payload: - # get_payload is actually email.message.Message.get_payload; - # we're only interested in the result if it's not a multipart message if not headers.is_multipart(): payload = get_payload() - if isinstance(payload, (bytes, str)): unparsed_data = payload + if defects: - # httplib is assuming a response body is available - # when parsing headers even when httplib only sends - # header data to parse_headers() This results in - # defects on multipart responses in particular. - # See: https://github.com/urllib3/urllib3/issues/800 - - # So we ignore the following defects: - # - StartBoundaryNotFoundDefect: - # The claimed start boundary was never found. - # - MultipartInvariantViolationDefect: - # A message claimed to be a multipart but no subparts were found. defects = [ defect for defect in defects @@ -100,7 +83,6 @@ def is_response_to_head(response): Response to check if the originating request used 'HEAD' as a method. """ - # FIXME: Can we do this somehow without accessing private httplib _method? method = response._method if isinstance(method, int): # Platform-specific: Appengine return method == 3