HttpApp
Combinators
Signature
declare function toHandled<E, R, _, EH, RH>(
self: Default<E, R>,
handleResponse: (request: HttpServerRequest, response: HttpServerResponse) => Effect<_, EH, RH>,
middleware?: HttpMiddleware,
): Effect<void, never, HttpServerRequest | Exclude<R, Scope> | Exclude<RH, Scope>>;Conversions
fromWebHandler
Added in v1.0.0
Source
Signature
declare function fromWebHandler(
handler: (request: Request) => Promise<Response>,
): Default<HttpServerError>;toWebHandler
Added in v1.0.0
Source
Signature
declare const toWebHandler: <E>(
self: Default<E, Scope.Scope>,
middleware?: HttpMiddleware,
) => (request: Request, context?: Context.Context<never>) => Promise<Response>;toWebHandlerLayer
Added in v1.0.0
Source
Signature
declare function toWebHandlerLayer<E, R, RE>(
self: Default<E, Scope | R>,
layer: Layer<R, RE>,
options?: {
readonly memoMap?: MemoMap;
readonly middleware?: HttpMiddleware;
},
): {
readonly dispose: () => Promise<void>;
readonly handler: (request: Request, context?: Context<never>) => Promise<Response>;
};toWebHandlerLayerWith
Added in v1.0.0
Source
Signature
declare function toWebHandlerLayerWith<E, R, RE, EX>(
layer: Layer<R, RE>,
options: {
readonly memoMap?: MemoMap;
readonly middleware?: HttpMiddleware;
readonly toHandler: (
runtime: Runtime<R>,
) => Effect<Effect<HttpServerResponse, E, Scope | HttpServerRequest | R>, EX>;
},
): {
readonly dispose: () => Promise<void>;
readonly handler: (request: Request, context?: Context<never>) => Promise<Response>;
};toWebHandlerRuntime
Added in v1.0.0
Source
Signature
declare function toWebHandlerRuntime<R>(
runtime: Runtime<R>,
): <E>(
self: Default<E, Scope | R>,
middleware?: HttpMiddleware,
) => (request: Request, context?: Context<never>) => Promise<Response>;Fiber Refs
appendPreResponseHandler
Added in v1.0.0
Source
Signature
declare const appendPreResponseHandler: (handler: PreResponseHandler) => Effect.Effect<void>;currentPreResponseHandlers
Added in v1.0.0
Source
Signature
declare const currentPreResponseHandlers: FiberRef.FiberRef<Option.Option<PreResponseHandler>>;withPreResponseHandler
Added in v1.0.0
Source
Signature
declare const withPreResponseHandler: (handler: PreResponseHandler) => <A, E, R>(self: HttpApp<A, E, R>) => HttpApp<A, E, R> & <A, E, R>(self: HttpApp<A, E, R>, handler: PreResponseHandler) => HttpApp<A, E, R>Models
Signature
type Default<E = never, R = never> = HttpApp<ServerResponse.HttpServerResponse, E, R>;Signature
type HttpApp<A = ServerResponse.HttpServerResponse, E = never, R = never> = Effect.Effect<
A,
E,
R | ServerRequest.HttpServerRequest
>;PreResponseHandler type
Added in v1.0.0
Source
Signature
type PreResponseHandler = (
request: ServerRequest.HttpServerRequest,
response: ServerResponse.HttpServerResponse,
) => Effect.Effect<ServerResponse.HttpServerResponse, ServerError.ResponseError>;Scope
ejectDefaultScopeClose
Added in v1.0.0
Source
Signature
declare function ejectDefaultScopeClose(scope: Scope): void;unsafeEjectStreamScope
Added in v1.0.0
Source
Signature
declare function unsafeEjectStreamScope(response: HttpServerResponse): HttpServerResponse;
If you want to finalize the http request scope elsewhere, you can use this function to eject from the default scope closure.