import * as Http from '@effect/platform/HttpServer';
import * as S from '@effect/schema/Schema';
import { Effect, pipe } from 'effect';
export class PersistenceError extends S.TaggedError<PersistenceError>()(
'PersistenceError',
{ reason: S.String }
) {}
export const server = pipe(
Http.router.empty,
Http.router.get(
'/trigger-persistence-error',
Effect.fail(new PersistenceError({ reason: 'Persistence error triggered' }))
),
Effect.catchTags({
PersistenceError: () => Http.response.empty({ status: 500 }),
}),
Http.server.serve()
);
import * as Http from '@effect/platform/HttpServer';
import * as S from '@effect/schema/Schema';
import { Effect, pipe } from 'effect';
export class PersistenceError extends S.TaggedError<PersistenceError>()(
'PersistenceError',
{ reason: S.String }
) {}
export const server = pipe(
Http.router.empty,
Http.router.get(
'/trigger-persistence-error',
Effect.fail(new PersistenceError({ reason: 'Persistence error triggered' }))
),
Effect.catchTags({
PersistenceError: () => Http.response.empty({ status: 500 }),
}),
Http.server.serve()
);