(
entry: {
readonly tag: HttpApiMiddleware.TagClassSecurityAny
readonly effect: Record<string, (_: any) => Effect.Effect<any, any>>
}
)
| 734 | ) |
| 735 | |
| 736 | const makeSecurityMiddleware = ( |
| 737 | entry: { |
| 738 | readonly tag: HttpApiMiddleware.TagClassSecurityAny |
| 739 | readonly effect: Record<string, (_: any) => Effect.Effect<any, any>> |
| 740 | } |
| 741 | ): Effect.Effect<any, any, any> => { |
| 742 | if (securityMiddlewareCache.has(entry)) { |
| 743 | return securityMiddlewareCache.get(entry)! |
| 744 | } |
| 745 | |
| 746 | let effect: Effect.Effect<any, any, any> | undefined |
| 747 | for (const [key, security] of Object.entries(entry.tag.security)) { |
| 748 | const decode = securityDecode(security) |
| 749 | const handler = entry.effect[key] |
| 750 | const middleware = Effect.flatMap(decode, handler) |
| 751 | effect = effect === undefined ? middleware : Effect.catchAll(effect, () => middleware) |
| 752 | } |
| 753 | if (effect === undefined) { |
| 754 | effect = Effect.void |
| 755 | } |
| 756 | securityMiddlewareCache.set(entry, effect) |
| 757 | return effect |
| 758 | } |
| 759 | |
| 760 | const responseSchema = Schema.declare(HttpServerResponse.isServerResponse) |
| 761 |
no test coverage detected
searching dependent graphs…