MCPcopy Index your code
hub / github.com/Effect-TS/effect / waitForResponse

Function waitForResponse

packages/platform-node/src/internal/httpClient.ts:132–157  ·  view source on GitHub ↗
(nodeRequest: Http.ClientRequest, request: ClientRequest.HttpClientRequest)

Source from the content-addressed store, hash-verified

130 })
131
132const waitForResponse = (nodeRequest: Http.ClientRequest, request: ClientRequest.HttpClientRequest) =>
133 Effect.async<Http.IncomingMessage, Error.RequestError>((resume) => {
134 function onError(cause: Error) {
135 resume(Effect.fail(
136 new Error.RequestError({
137 request,
138 reason: "Transport",
139 cause
140 })
141 ))
142 }
143 nodeRequest.on("error", onError)
144
145 function onResponse(response: Http.IncomingMessage) {
146 nodeRequest.off("error", onError)
147 resume(Effect.succeed(response))
148 }
149 nodeRequest.on("upgrade", onResponse)
150 nodeRequest.on("response", onResponse)
151
152 return Effect.sync(() => {
153 nodeRequest.off("error", onError)
154 nodeRequest.off("upgrade", onResponse)
155 nodeRequest.off("response", onResponse)
156 })
157 })
158
159const waitForFinish = (nodeRequest: Http.ClientRequest, request: ClientRequest.HttpClientRequest) =>
160 Effect.async<void, Error.RequestError>((resume) => {

Callers 1

fromAgentFunction · 0.85

Calls 1

syncMethod · 0.80

Tested by

no test coverage detected