Hyperlinkv0.8.0-beta.28

NodeClusterHttp

Layer.Layer<
  HttpPlatform | Etag.Generator | NodeServices | HttpServer,
  ServeError,
  ShardingConfig.ShardingConfig
>

Provides the HTTP server and Node HTTP services used by cluster runners, listening on ShardingConfig.runnerListenAddress or runnerAddress.

layers
export const layerHttpServer: Layer.Layer<
  | HttpPlatform
  | Etag.Generator
  | NodeServices
  | HttpServer,
  ServeError,
  ShardingConfig.ShardingConfig
> = Effect.gen(function*() {
  const config = yield* ShardingConfig.ShardingConfig
  const listenAddress = Option.orElse(config.runnerListenAddress, () => config.runnerAddress)
  if (Option.isNone(listenAddress)) {
    return yield* Effect.die("NodeClusterHttp.layerHttpServer: ShardingConfig.runnerAddress is None")
  }
  return NodeHttpServer.layer(createServer, listenAddress.value)
}).pipe(Layer.unwrap)
Referenced by 1 symbols