MCPcopy
hub / github.com/mitmproxy/mitmproxy / h2_frames

Function h2_frames

test/mitmproxy/proxy/layers/http/test_http_fuzz.py:203–271  ·  view source on GitHub ↗
(draw)

Source from the content-addressed store, hash-verified

201
202@composite
203def h2_frames(draw):
204 ff = FrameFactory()
205 headers1 = ff.build_headers_frame(headers=draw(h2_headers()))
206 headers1.flags.clear()
207 headers1.flags |= draw(h2_flags)
208 headers2 = ff.build_headers_frame(
209 headers=draw(h2_headers()),
210 depends_on=draw(h2_stream_ids),
211 stream_weight=draw(integers(0, 255)),
212 exclusive=draw(booleans()),
213 )
214 headers2.flags.clear()
215 headers2.flags |= draw(h2_flags)
216 settings = ff.build_settings_frame(
217 settings=draw(
218 dictionaries(
219 keys=sampled_from(SettingCodes),
220 values=integers(0, 2**32 - 1),
221 max_size=5,
222 )
223 ),
224 ack=draw(booleans()),
225 )
226 continuation = ff.build_continuation_frame(
227 header_block=ff.encoder.encode(draw(h2_headers())), flags=draw(h2_flags)
228 )
229 goaway = ff.build_goaway_frame(draw(h2_stream_ids))
230 push_promise = ff.build_push_promise_frame(
231 stream_id=draw(h2_stream_ids_nonzero),
232 promised_stream_id=draw(h2_stream_ids),
233 headers=draw(h2_headers()),
234 )
235 rst = ff.build_rst_stream_frame(draw(h2_stream_ids_nonzero))
236 prio = ff.build_priority_frame(
237 stream_id=draw(h2_stream_ids_nonzero),
238 weight=draw(integers(0, 255)),
239 depends_on=draw(h2_stream_ids),
240 exclusive=draw(booleans()),
241 )
242 data1 = ff.build_data_frame(draw(binary()), draw(h2_flags))
243 data2 = ff.build_data_frame(
244 draw(binary()), draw(h2_flags), stream_id=draw(h2_stream_ids_nonzero)
245 )
246 window_update = ff.build_window_update_frame(
247 draw(h2_stream_ids), draw(integers(0, 2**32 - 1))
248 )
249
250 frames = draw(
251 lists(
252 sampled_from(
253 [
254 headers1,
255 headers2,
256 settings,
257 continuation,
258 goaway,
259 push_promise,
260 rst,

Callers

nothing calls this directly

Calls 15

build_headers_frameMethod · 0.95
build_settings_frameMethod · 0.95
build_goaway_frameMethod · 0.95
build_priority_frameMethod · 0.95
build_data_frameMethod · 0.95
FrameFactoryClass · 0.90
drawFunction · 0.85
h2_headersFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…