MCPcopy Index your code
hub / github.com/mitmproxy/mitmproxy / playback

Method playback

mitmproxy/addons/clientplayback.py:174–194  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

172 pass
173
174 async def playback(self):
175 while True:
176 self.inflight = await self.queue.get()
177 try:
178 assert self.inflight
179 h = ReplayHandler(self.inflight, self.options)
180 if ctx.options.client_replay_concurrency == -1:
181 t = asyncio_utils.create_task(
182 h.replay(),
183 name="client playback awaiting response",
184 keep_ref=False,
185 )
186 # keep a reference so this is not garbage collected
187 self.replay_tasks.add(t)
188 t.add_done_callback(self.replay_tasks.remove)
189 else:
190 await h.replay()
191 except Exception:
192 logger.exception(f"Client replay has crashed!")
193 self.queue.task_done()
194 self.inflight = None
195
196 def check(self, f: flow.Flow) -> str | None:
197 if f.live or f == self.inflight:

Callers 1

runningMethod · 0.95

Calls 4

replayMethod · 0.95
ReplayHandlerClass · 0.85
getMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected