( nodeResponse: Http.ServerResponse, originalResponse: HttpServerResponse )
| 648 | } |
| 649 | |
| 650 | const handleCause = ( |
| 651 | nodeResponse: Http.ServerResponse, |
| 652 | originalResponse: HttpServerResponse |
| 653 | ) => |
| 654 | <E>(originalCause: Cause.Cause<E>) => |
| 655 | Effect.flatMap(causeResponse(originalCause), ([response, cause]) => { |
| 656 | const headersSent = nodeResponse.headersSent |
| 657 | if (!headersSent) { |
| 658 | nodeResponse.writeHead(response.status) |
| 659 | } |
| 660 | if (!nodeResponse.writableEnded) { |
| 661 | nodeResponse.end() |
| 662 | } |
| 663 | return Effect.failCause( |
| 664 | headersSent |
| 665 | ? Cause.combine(originalCause, Cause.die(originalResponse)) |
| 666 | : cause |
| 667 | ) |
| 668 | }) |
no test coverage detected