( handler: PreResponseHandler )
| 13 | |
| 14 | /** @internal */ |
| 15 | export const appendPreResponseHandler: (handler: PreResponseHandler) => Effect.Effect<void> = ( |
| 16 | handler: PreResponseHandler |
| 17 | ) => |
| 18 | FiberRef.update( |
| 19 | currentPreResponseHandlers, |
| 20 | Option.match({ |
| 21 | onNone: () => Option.some(handler), |
| 22 | onSome: (prev) => |
| 23 | Option.some((request, response) => |
| 24 | Effect.flatMap(prev(request, response), (response) => handler(request, response)) |
| 25 | ) |
| 26 | }) |
| 27 | ) |
| 28 | |
| 29 | /** @internal */ |
| 30 | export const withPreResponseHandler = dual< |