import {
HttpApi,
HttpApiBuilder,
HttpApiEndpoint,
HttpApiGroup
} from "@effect/platform";
import { NodeHttpServer, NodeRuntime } from "@effect/platform-node";
import { Console, Effect, Layer, Schema } from "effect";
import { createServer } from "node:http";
const MyApi = HttpApi.make("Apis").add(
HttpApiGroup.make("Some Redirect").add(
HttpApiEndpoint.get("redirect to long url")`/:shortUrl`
.setPath(
Schema.Struct({
shortUrl: Schema.String,
})
)
.addSuccess(Schema.String, { status: 302 })
.addError(Schema.String)
)
);
const ApiLive = HttpApiBuilder.group(MyApi, "Some Redirect", (handlers) =>
handlers.handle("redirect to long url", (request) =>
Effect.succeed("https://github.com/Effect-TS/effect/blob/main/packages/platform/README.md#http-server")
)
);
import {
HttpApi,
HttpApiBuilder,
HttpApiEndpoint,
HttpApiGroup
} from "@effect/platform";
import { NodeHttpServer, NodeRuntime } from "@effect/platform-node";
import { Console, Effect, Layer, Schema } from "effect";
import { createServer } from "node:http";
const MyApi = HttpApi.make("Apis").add(
HttpApiGroup.make("Some Redirect").add(
HttpApiEndpoint.get("redirect to long url")`/:shortUrl`
.setPath(
Schema.Struct({
shortUrl: Schema.String,
})
)
.addSuccess(Schema.String, { status: 302 })
.addError(Schema.String)
)
);
const ApiLive = HttpApiBuilder.group(MyApi, "Some Redirect", (handlers) =>
handlers.handle("redirect to long url", (request) =>
Effect.succeed("https://github.com/Effect-TS/effect/blob/main/packages/platform/README.md#http-server")
)
);