MCPcopy
hub / github.com/encode/starlette / receive

Method receive

starlette/testclient.py:300–326  ·  starlette/testclient.py::_TestClientTransport.receive
()

Source from the content-addressed store, hash-verified

298 context = None
299
300 async def receive() -> Message:
301 nonlocal request_complete
302
303 if request_complete:
304 if not response_complete.is_set():
305 await response_complete.wait()
306 return {class="st">"type": class="st">"http.disconnect"}
307
308 body = request.read()
309 if isinstance(body, str):
310 body_bytes: bytes = body.encode(class="st">"utf-8") class="cm"># pragma: no cover
311 elif body is None:
312 body_bytes = bclass="st">"" class="cm"># pragma: no cover
313 elif isinstance(body, GeneratorType):
314 try: class="cm"># pragma: no cover
315 chunk = body.send(None)
316 if isinstance(chunk, str):
317 chunk = chunk.encode(class="st">"utf-8")
318 return {class="st">"type": class="st">"http.request", class="st">"body": chunk, class="st">"more_body": True}
319 except StopIteration: class="cm"># pragma: no cover
320 request_complete = True
321 return {class="st">"type": class="st">"http.request", class="st">"body": bclass="st">""}
322 else:
323 body_bytes = body
324
325 request_complete = True
326 return {class="st">"type": class="st">"http.request", class="st">"body": body_bytes}
327
328 async def send(message: Message) -> None:
329 nonlocal raw_kwargs, response_started, template, context

Callers

nothing calls this directly

Calls 2

readMethod · 0.80
sendMethod · 0.45

Tested by

no test coverage detected