class UserRouter extends HttpRouter.Tag("UserRouter")<UserRouter>() {}
// Create `Layer`'s for your routes with `UserRouter.use`
const GetUsers = UserRouter.use((router) =>
Effect.gen(function*() {
yield* router.get("/", HttpServerResponse.text("got users"))
})
)
...
const AllRoutes = HttpRouter.Default.use((router) =>
Effect.gen(function*() {
yield* router.mount("/users", yield* UserRouter.router)
})
).pipe(Layer.provide(AllUserRoutes))
...
const HttpLive = HttpRouter.Default.unwrap(HttpServer.serve(HttpMiddleware.logger)).pipe(
HttpServer.withLogAddress,
Layer.provide(AllRoutes),
Layer.provide(ServerLive)
)
BunRuntime.runMain(Layer.launch(HttpLive));
class UserRouter extends HttpRouter.Tag("UserRouter")<UserRouter>() {}
// Create `Layer`'s for your routes with `UserRouter.use`
const GetUsers = UserRouter.use((router) =>
Effect.gen(function*() {
yield* router.get("/", HttpServerResponse.text("got users"))
})
)
...
const AllRoutes = HttpRouter.Default.use((router) =>
Effect.gen(function*() {
yield* router.mount("/users", yield* UserRouter.router)
})
).pipe(Layer.provide(AllUserRoutes))
...
const HttpLive = HttpRouter.Default.unwrap(HttpServer.serve(HttpMiddleware.logger)).pipe(
HttpServer.withLogAddress,
Layer.provide(AllRoutes),
Layer.provide(ServerLive)
)
BunRuntime.runMain(Layer.launch(HttpLive));