( response: ServerResponse.HttpServerResponse )
| 143 | * @category Scope |
| 144 | */ |
| 145 | export const unsafeEjectStreamScope = ( |
| 146 | response: ServerResponse.HttpServerResponse |
| 147 | ): ServerResponse.HttpServerResponse => { |
| 148 | if (response.body._tag !== "Stream") { |
| 149 | return response |
| 150 | } |
| 151 | const fiber = Option.getOrThrow(Fiber.getCurrentFiber()) |
| 152 | const scope = Context.unsafeGet(fiber.currentContext, Scope.Scope) as Scope.CloseableScope |
| 153 | ejectDefaultScopeClose(scope) |
| 154 | return ServerResponse.setBody( |
| 155 | response, |
| 156 | HttpBody.stream( |
| 157 | Stream.ensuring(response.body.stream, Scope.close(scope, Exit.void)), |
| 158 | response.body.contentType, |
| 159 | response.body.contentLength |
| 160 | ) |
| 161 | ) |
| 162 | } |
| 163 | |
| 164 | const ejectedScopes = GlobalValue.globalValue( |
| 165 | "@effect/platform/HttpApp/ejectedScopes", |
no test coverage detected
searching dependent graphs…