MCPcopy Create free account
hub / github.com/Effect-TS/effect / waitForFinish

Function waitForFinish

packages/platform/node/src/NodeHttpClient.ts:554–578  ·  view source on GitHub ↗
(nodeRequest: Http.ClientRequest, request: HttpClientRequest)

Source from the content-addressed store, hash-verified

552 })
553
554const waitForFinish = (nodeRequest: Http.ClientRequest, request: HttpClientRequest) =>
555 Effect.callback<void, Error.HttpClientError>((resume) => {
556 function onError(cause: Error) {
557 resume(Effect.fail(
558 new Error.HttpClientError({
559 reason: new Error.TransportError({
560 request,
561 cause
562 })
563 })
564 ))
565 }
566 nodeRequest.once("error", onError)
567
568 function onFinish() {
569 nodeRequest.off("error", onError)
570 resume(Effect.void)
571 }
572 nodeRequest.once("finish", onFinish)
573
574 return Effect.sync(() => {
575 nodeRequest.off("error", onError)
576 nodeRequest.off("finish", onFinish)
577 })
578 })
579
580class NodeHttpResponse extends NodeHttpIncomingMessage<Error.HttpClientError> implements HttpClientResponse, Pipeable {
581 readonly [Response.TypeId]: typeof Response.TypeId

Callers 1

sendBodyFunction · 0.85

Calls 2

onceMethod · 0.80
syncMethod · 0.45

Tested by

no test coverage detected