(nodeRequest: Http.ClientRequest, request: HttpClientRequest)
| 524 | }) |
| 525 | |
| 526 | const waitForResponse = (nodeRequest: Http.ClientRequest, request: HttpClientRequest) => |
| 527 | Effect.callback<Http.IncomingMessage, Error.HttpClientError>((resume) => { |
| 528 | function onError(cause: Error) { |
| 529 | resume(Effect.fail( |
| 530 | new Error.HttpClientError({ |
| 531 | reason: new Error.TransportError({ |
| 532 | request, |
| 533 | cause |
| 534 | }) |
| 535 | }) |
| 536 | )) |
| 537 | } |
| 538 | nodeRequest.on("error", onError) |
| 539 | |
| 540 | function onResponse(response: Http.IncomingMessage) { |
| 541 | nodeRequest.off("error", onError) |
| 542 | resume(Effect.succeed(response)) |
| 543 | } |
| 544 | nodeRequest.on("upgrade", onResponse) |
| 545 | nodeRequest.on("response", onResponse) |
| 546 | |
| 547 | return Effect.sync(() => { |
| 548 | nodeRequest.off("error", onError) |
| 549 | nodeRequest.off("upgrade", onResponse) |
| 550 | nodeRequest.off("response", onResponse) |
| 551 | }) |
| 552 | }) |
| 553 | |
| 554 | const waitForFinish = (nodeRequest: Http.ClientRequest, request: HttpClientRequest) => |
| 555 | Effect.callback<void, Error.HttpClientError>((resume) => { |
no test coverage detected