HttpServerRespondable
Converts supported values into HTTP server responses.
Server-side errors and helper values can implement Respondable when they know which status, headers, cookies, or body should be sent to the client. This module detects those values and converts them to HttpServerResponse values, with fallback handling for schema errors and missing values.
Accessors
toResponse
Signature
declare function toResponse(self: Respondable): Effect<HttpServerResponse>;toResponseOrElse
Attempts to convert an unknown value into an HttpServerResponse, falling back to the supplied response when no conversion is available.
Details
HttpServerResponse and Respondable values are used directly, schema errors become 400 responses, and no-such-element errors become 404 responses.
Signature
declare function toResponseOrElse(
u: unknown,
orElse: HttpServerResponse,
): Effect<HttpServerResponse>;toResponseOrElseDefect
Attempts to convert an unknown defect into an HttpServerResponse, falling back to the supplied response when no conversion is available.
Details
Only HttpServerResponse and Respondable values receive special handling.
Signature
declare function toResponseOrElseDefect(
u: unknown,
orElse: HttpServerResponse,
): Effect<HttpServerResponse>;Guards
isRespondable
Returns true when the supplied value implements the Respondable protocol.
Signature
declare function isRespondable(u: unknown): u is Respondable;Models
Respondable interface
Protocol for values that can be converted into an HttpServerResponse.
Details
Implement the protocol method to describe the response that should be sent for the value.
Signature
interface Respondable {
"~effect/http/HttpServerRespondable"(): Effect<HttpServerResponse, unknown>;
}
Converts a
Respondablevalue into anHttpServerResponse.Details
If the value is already an HTTP server response it is returned directly; errors from the response conversion are converted to defects.