Skip to content

Commit 99895d1

Browse files
committed
include both parsed values in the ProtocolError message
1 parent a0b9562 commit 99895d1

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

src/h2/stream.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1377,7 +1377,7 @@ def _initialize_content_length(self, headers: Iterable[Header]) -> None:
13771377
if content_length is None:
13781378
content_length = parsed_content_length
13791379
elif parsed_content_length != content_length:
1380-
msg = "Conflicting content-length headers"
1380+
msg = f"Conflicting content-length headers: {content_length} and {parsed_content_length}"
13811381
raise ProtocolError(msg)
13821382

13831383
if content_length is None:

tests/test_invalid_content_lengths.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,10 @@ def test_duplicate_conflicting_content_lengths(self, frame_factory, request_head
105105
("content-length", "16"),
106106
],
107107
)
108-
with pytest.raises(h2.exceptions.ProtocolError):
108+
with pytest.raises(
109+
h2.exceptions.ProtocolError,
110+
match="Conflicting content-length headers: 15 and 16",
111+
):
109112
c.receive_data(headers.serialize())
110113

111114
expected_frame = frame_factory.build_goaway_frame(

0 commit comments

Comments
 (0)