MCPcopy Index your code
hub / github.com/github/copilot-sdk / streamResponse

Function streamResponse

nodejs/src/copilotRequestHandler.ts:698–726  ·  view source on GitHub ↗
(response: Response, exchange: CopilotRequestExchange)

Source from the content-addressed store, hash-verified

696}
697
698async function streamResponse(response: Response, exchange: CopilotRequestExchange): Promise<void> {
699 await exchange.startResponse({
700 status: response.status,
701 statusText: response.statusText || undefined,
702 headers: headersToMultiMap(response.headers),
703 });
704
705 const body = response.body;
706 if (!body) {
707 await exchange.endResponse();
708 return;
709 }
710
711 const reader = body.getReader();
712 try {
713 for (;;) {
714 const { value, done } = await reader.read();
715 if (done) {
716 break;
717 }
718 if (value && value.byteLength > 0) {
719 await exchange.writeResponse(value);
720 }
721 }
722 await exchange.endResponse();
723 } finally {
724 reader.releaseLock();
725 }
726}
727
728function headersToMultiMap(headers: Headers): LlmInferenceHeaders {
729 const out: Record<string, string[]> = {};

Callers 1

#handleHttpMethod · 0.85

Calls 6

headersToMultiMapFunction · 0.85
writeResponseMethod · 0.80
releaseLockMethod · 0.80
startResponseMethod · 0.45
endResponseMethod · 0.45
readMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…