(resolve: HostedHostnameResolver)
| 259 | // validateHostedOutboundUrl — from having a second copy of the rule. |
| 260 | const toGuardResolver = |
| 261 | (resolve: HostedHostnameResolver): GuardResolver => |
| 262 | (hostname) => |
| 263 | Effect.tryPromise({ |
| 264 | try: (signal) => resolve(hostname, signal), |
| 265 | catch: () => new HostedHostnameResolutionFailed({ hostname, empty: false }), |
| 266 | }).pipe( |
| 267 | Effect.flatMap((addresses) => |
| 268 | addresses.length === 0 |
| 269 | ? Effect.fail(new HostedHostnameResolutionFailed({ hostname, empty: true })) |
| 270 | : Effect.succeed(addresses), |
| 271 | ), |
| 272 | ); |
| 273 | |
| 274 | const DNS_CACHE_TTL_MILLIS = 60_000; |
| 275 | const DNS_CACHE_CAPACITY = 256; |
no test coverage detected