MCPcopy
hub / github.com/benoitc/gunicorn / receive_headers

Method receive_headers

gunicorn/http2/stream.py:105–127  ·  view source on GitHub ↗

Process received HEADERS frame. Args: headers: List of (name, value) tuples end_stream: True if END_STREAM flag is set Raises: HTTP2StreamError: If headers received in invalid state

(self, headers, end_stream=False)

Source from the content-addressed store, hash-verified

103 )
104
105 def receive_headers(self, headers, end_stream=False):
106 """Process received HEADERS frame.
107
108 Args:
109 headers: List of (name, value) tuples
110 end_stream: True if END_STREAM flag is set
111
112 Raises:
113 HTTP2StreamError: If headers received in invalid state
114 """
115 if self.state == StreamState.IDLE:
116 self.state = StreamState.OPEN
117 elif self.state not in (StreamState.OPEN, StreamState.HALF_CLOSED_LOCAL):
118 raise HTTP2StreamError(
119 self.stream_id,
120 f"Cannot receive headers in state {self.state.name}"
121 )
122
123 self.request_headers.extend(headers)
124
125 if end_stream:
126 self._half_close_remote()
127 self.request_complete = True
128
129 def receive_data(self, data, end_stream=False):
130 """Process received DATA frame with streaming support.

Callers 15

_make_streamMethod · 0.95
_make_streamMethod · 0.95
test_no_trailersMethod · 0.95
test_with_trailersMethod · 0.95
_make_streamMethod · 0.95
test_repr_formatMethod · 0.95
test_default_methodMethod · 0.95
test_default_schemeMethod · 0.95
test_default_pathMethod · 0.95

Calls 2

_half_close_remoteMethod · 0.95
HTTP2StreamErrorClass · 0.85

Tested by 15

_make_streamMethod · 0.76
_make_streamMethod · 0.76
test_no_trailersMethod · 0.76
test_with_trailersMethod · 0.76
_make_streamMethod · 0.76
test_repr_formatMethod · 0.76
test_default_methodMethod · 0.76
test_default_schemeMethod · 0.76
test_default_pathMethod · 0.76