HttpMultiplex
Combinators
Signature
declare const add: {
<E2, R2, E3, R3>(
predicate: (request: HttpServerRequest) => Effect<boolean, E2, R2>,
app: Default<E3, R3>,
): <E, R>(self: HttpMultiplex<E, R>) => HttpMultiplex<E2 | E3 | E, R2 | R3 | R>;
<E, R, E2, R2, E3, R3>(
self: HttpMultiplex<E, R>,
predicate: (request: HttpServerRequest) => Effect<boolean, E2, R2>,
app: Default<E3, R3>,
): HttpMultiplex<E | E2 | E3, R | R2 | R3>;
};headerEndsWith
Added in v1.0.0
Source
Signature
declare const headerEndsWith: {
<E2, R2>(
header: string,
suffix: string,
app: Default<E2, R2>,
): <E, R>(self: HttpMultiplex<E, R>) => HttpMultiplex<E2 | E, R2 | R>;
<E, R, E2, R2>(
self: HttpMultiplex<E, R>,
header: string,
suffix: string,
app: Default<E2, R2>,
): HttpMultiplex<E | E2, R | R2>;
};headerExact
Added in v1.0.0
Source
Signature
declare const headerExact: {
<E2, R2>(
header: string,
value: string,
app: Default<E2, R2>,
): <E, R>(self: HttpMultiplex<E, R>) => HttpMultiplex<E2 | E, R2 | R>;
<E, R, E2, R2>(
self: HttpMultiplex<E, R>,
header: string,
value: string,
app: Default<E2, R2>,
): HttpMultiplex<E | E2, R | R2>;
};headerRegex
Added in v1.0.0
Source
Signature
declare const headerRegex: {
<E2, R2>(
header: string,
regex: RegExp,
app: Default<E2, R2>,
): <E, R>(self: HttpMultiplex<E, R>) => HttpMultiplex<E2 | E, R2 | R>;
<E, R, E2, R2>(
self: HttpMultiplex<E, R>,
header: string,
regex: RegExp,
app: Default<E2, R2>,
): HttpMultiplex<E | E2, R | R2>;
};headerStartsWith
Added in v1.0.0
Source
Signature
declare const headerStartsWith: {
<E2, R2>(
header: string,
prefix: string,
app: Default<E2, R2>,
): <E, R>(self: HttpMultiplex<E, R>) => HttpMultiplex<E2 | E, R2 | R>;
<E, R, E2, R2>(
self: HttpMultiplex<E, R>,
header: string,
prefix: string,
app: Default<E2, R2>,
): HttpMultiplex<E | E2, R | R2>;
};hostEndsWith
Added in v1.0.0
Source
Signature
declare const hostEndsWith: {
<E2, R2>(
suffix: string,
app: Default<E2, R2>,
): <E, R>(self: HttpMultiplex<E, R>) => HttpMultiplex<E2 | E, R2 | R>;
<E, R, E2, R2>(
self: HttpMultiplex<E, R>,
suffix: string,
app: Default<E2, R2>,
): HttpMultiplex<E | E2, R | R2>;
};Signature
declare const hostExact: {
<E2, R2>(
host: string,
app: Default<E2, R2>,
): <E, R>(self: HttpMultiplex<E, R>) => HttpMultiplex<E2 | E, R2 | R>;
<E, R, E2, R2>(
self: HttpMultiplex<E, R>,
host: string,
app: Default<E2, R2>,
): HttpMultiplex<E | E2, R | R2>;
};Signature
declare const hostRegex: {
<E2, R2>(
regex: RegExp,
app: Default<E2, R2>,
): <E, R>(self: HttpMultiplex<E, R>) => HttpMultiplex<E2 | E, R2 | R>;
<E, R, E2, R2>(
self: HttpMultiplex<E, R>,
regex: RegExp,
app: Default<E2, R2>,
): HttpMultiplex<E | E2, R | R2>;
};hostStartsWith
Added in v1.0.0
Source
Signature
declare const hostStartsWith: {
<E2, R2>(
prefix: string,
app: Default<E2, R2>,
): <E, R>(self: HttpMultiplex<E, R>) => HttpMultiplex<E2 | E, R2 | R>;
<E, R, E2, R2>(
self: HttpMultiplex<E, R>,
prefix: string,
app: Default<E2, R2>,
): HttpMultiplex<E | E2, R | R2>;
};Constructors
Signature
declare const empty: HttpMultiplex<never>;Signature
declare const make: <E, R>(
apps: Iterable<
readonly [
predicate: (request: ServerRequest.HttpServerRequest) => Effect.Effect<boolean, E, R>,
app: App.Default<E, R>,
]
>,
) => HttpMultiplex<E, R>;Models
HttpMultiplex interface
Added in v1.0.0
Source
Signature
interface HttpMultiplex<E = never, R = never> extends Default<E | Error.RouteNotFound, R>, Inspectable {
readonly [TypeId]: typeof TypeId;
readonly apps: readonly Array<readonly [(request: HttpServerRequest) => Effect<boolean, E, R>, Default<E, R>]>;
}