Package: @effect/platform
Module: HttpApiBuilder
Represents a handled HttpApi.
Signature
export interface Handlers<
E,
Provides,
R,
Endpoints extends HttpApiEndpoint.HttpApiEndpoint.Any = never
> extends Pipeable {
readonly [HandlersTypeId]: {
_Endpoints: Covariant<Endpoints>
}
readonly group: HttpApiGroup.HttpApiGroup.AnyWithProps
readonly handlers: Chunk.Chunk<Handlers.Item<E, R>>
/**
* Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
*/
handle<Name extends HttpApiEndpoint.HttpApiEndpoint.Name<Endpoints>, R1>(
name: Name,
handler: HttpApiEndpoint.HttpApiEndpoint.HandlerWithName<Endpoints, Name, E, R1>,
options?: { readonly uninterruptible?: boolean | undefined } | undefined
): Handlers<
E,
Provides,
| R
| Exclude<
HttpApiEndpoint.HttpApiEndpoint.ExcludeProvided<
Endpoints,
Name,
R1 | HttpApiEndpoint.HttpApiEndpoint.ContextWithName<Endpoints, Name>
>,
Provides
>,
HttpApiEndpoint.HttpApiEndpoint.ExcludeName<Endpoints, Name>
>
/**
* Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
* This version of the api allows you to return the full response object.
*/
handleRaw<Name extends HttpApiEndpoint.HttpApiEndpoint.Name<Endpoints>, R1>(
name: Name,
handler: HttpApiEndpoint.HttpApiEndpoint.HandlerRawWithName<Endpoints, Name, E, R1>,
options?: { readonly uninterruptible?: boolean | undefined } | undefined
): Handlers<
E,
Provides,
| R
| Exclude<
HttpApiEndpoint.HttpApiEndpoint.ExcludeProvided<
Endpoints,
Name,
R1 | HttpApiEndpoint.HttpApiEndpoint.ContextWithName<Endpoints, Name>
>,
Provides
>,
HttpApiEndpoint.HttpApiEndpoint.ExcludeName<Endpoints, Name>
>
}
Since v1.0.0