typescript
import { HttpApiBuilder, HttpMiddleware, HttpServerResponse } from "@effect/platform"
import { Api, HealthApi } from "@src/core"
import { Effect } from "effect"
export const HttpHealthLive = HttpApiBuilder.group(
Api,
"health",
(handlers) =>
handlers.handle(
"healthz",
// Works, type safe, but couldn't figure out how to disable logging
// () => Effect.succeed({ status: "ok" })
// Works, loses some type safety, disables logging
() =>
HttpServerResponse.schemaJson(HealthApi.SchemaHealthy)({ status: "ok" }).pipe(
Effect.catchTag("HttpBodyError", () => Effect.dieMessage("Failed to serialize health endpoint response")),
HttpMiddleware.withLoggerDisabled
)
)
)
typescript
import { HttpApiBuilder, HttpMiddleware, HttpServerResponse } from "@effect/platform"
import { Api, HealthApi } from "@src/core"
import { Effect } from "effect"
export const HttpHealthLive = HttpApiBuilder.group(
Api,
"health",
(handlers) =>
handlers.handle(
"healthz",
// Works, type safe, but couldn't figure out how to disable logging
// () => Effect.succeed({ status: "ok" })
// Works, loses some type safety, disables logging
() =>
HttpServerResponse.schemaJson(HealthApi.SchemaHealthy)({ status: "ok" }).pipe(
Effect.catchTag("HttpBodyError", () => Effect.dieMessage("Failed to serialize health endpoint response")),
HttpMiddleware.withLoggerDisabled
)
)
)