-
-
Save mchlggr/484b2541bd23a6c3e2fbd4f9cefca20f to your computer and use it in GitHub Desktop.
Revisions
-
Fredx87 created this gist
Jan 6, 2024 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,28 @@ import * as Http from "@effect/platform/HttpServer"; import { Effect } from "effect"; import * as S from "@effect/schema/Schema"; const HttpLive = Http.router.empty.pipe( Http.router.get("/", Http.response.text("Hello World")), Http.router.get( "/todo/:id", Effect.gen(function* ($) { const { id } = yield* $( Http.router.schemaPathParams(S.struct({ id: S.NumberFromString })), ); return yield* $(Http.response.text(`Todo ${id}`)); }), ), Http.router.all("*", Http.response.empty({ status: 404 })), Http.router.catchAll((e) => { console.log(e); return Http.response.empty({ status: 400 }); }), Http.app.toWebHandler, ); export default { async fetch(request: Request) { return await HttpLive(request); }, };