import {
HttpLayerRouter,
HttpMiddleware,
HttpServerResponse,
} from "@effect/platform";
import { BunHttpServer, BunRuntime } from "@effect/platform-bun";
import { Effect, Layer } from "effect";
const HealthRoute = HttpLayerRouter.use(
Effect.fn(function* (router) {
// The `router` parameter is the `HttpRouter` service
yield* router.add(
"GET",
"/health",
HttpServerResponse.text("OK", { status: 200 }).pipe(
HttpMiddleware.withLoggerDisabled,
),
);
}),
);
const RoutesLive = Layer.mergeAll(HealthRoute).pipe(
Layer.provide(HttpLayerRouter.cors()),
);
const HttpLive = HttpLayerRouter.serve(RoutesLive).pipe(
Layer.provide(BunHttpServer.layer({ port: 3004 })),
);
Layer.launch(HttpLive).pipe(BunRuntime.runMain);
import {
HttpLayerRouter,
HttpMiddleware,
HttpServerResponse,
} from "@effect/platform";
import { BunHttpServer, BunRuntime } from "@effect/platform-bun";
import { Effect, Layer } from "effect";
const HealthRoute = HttpLayerRouter.use(
Effect.fn(function* (router) {
// The `router` parameter is the `HttpRouter` service
yield* router.add(
"GET",
"/health",
HttpServerResponse.text("OK", { status: 200 }).pipe(
HttpMiddleware.withLoggerDisabled,
),
);
}),
);
const RoutesLive = Layer.mergeAll(HealthRoute).pipe(
Layer.provide(HttpLayerRouter.cors()),
);
const HttpLive = HttpLayerRouter.serve(RoutesLive).pipe(
Layer.provide(BunHttpServer.layer({ port: 3004 })),
);
Layer.launch(HttpLive).pipe(BunRuntime.runMain);