/** * @since 1.0.0 */ import type * as Effect from "effect/Effect"; import type { Inspectable } from "effect/Inspectable"; import type * as Runtime from "effect/Runtime"; import type * as Schema from "effect/Schema"; import type { ParseOptions } from "effect/SchemaAST"; import * as Stream from "effect/Stream"; import type { Cookie, CookiesError } from "./Cookies.js"; import * as Cookies from "./Cookies.js"; import type * as PlatformError from "./Error.js"; import type * as FileSystem from "./FileSystem.js"; import type * as Headers from "./Headers.js"; import * as Body from "./HttpBody.js"; import type * as Platform from "./HttpPlatform.js"; import type { Respondable } from "./HttpServerRespondable.js"; import type * as Template from "./Template.js"; import type * as UrlParams from "./UrlParams.js"; /** * @since 1.0.0 * @category type ids */ export declare const TypeId: unique symbol; /** * @since 1.0.0 * @category type ids */ export type TypeId = typeof TypeId; /** * @since 1.0.0 * @category models */ export interface HttpServerResponse extends Effect.Effect, Inspectable, Respondable { readonly [TypeId]: TypeId; readonly status: number; readonly statusText?: string | undefined; readonly headers: Headers.Headers; readonly cookies: Cookies.Cookies; readonly body: Body.HttpBody; } /** * @since 1.0.0 * @category models */ export interface Options { readonly status?: number | undefined; readonly statusText?: string | undefined; readonly headers?: Headers.Input | undefined; readonly cookies?: Cookies.Cookies | undefined; readonly contentType?: string | undefined; readonly contentLength?: number | undefined; } /** * @since 1.0.0 */ export declare namespace Options { /** * @since 1.0.0 * @category models */ interface WithContent extends Omit { } /** * @since 1.0.0 * @category models */ interface WithContentType extends Omit { } } /** * @since 1.0.0 */ export declare const isServerResponse: (u: unknown) => u is HttpServerResponse; /** * @since 1.0.0 * @category constructors */ export declare const empty: (options?: Options.WithContent | undefined) => HttpServerResponse; /** * @since 1.0.0 * @category constructors */ export declare const redirect: (location: string | URL, options?: Options.WithContentType | undefined) => HttpServerResponse; /** * @since 1.0.0 * @category constructors */ export declare const uint8Array: (body: Uint8Array, options?: Options.WithContentType | undefined) => HttpServerResponse; /** * @since 1.0.0 * @category constructors */ export declare const text: (body: string, options?: Options.WithContentType | undefined) => HttpServerResponse; /** * @since 1.0.0 * @category constructors */ export declare const html: { /** * @since 1.0.0 * @category constructors */ >(strings: TemplateStringsArray, ...args: A): Effect.Effect, Template.Interpolated.Context>; /** * @since 1.0.0 * @category constructors */ (html: string): HttpServerResponse; }; /** * @since 1.0.0 * @category constructors */ export declare const htmlStream: >(strings: TemplateStringsArray, ...args: A) => Effect.Effect>; /** * @since 1.0.0 * @category constructors */ export declare const json: (body: unknown, options?: Options.WithContentType | undefined) => Effect.Effect; /** * @since 1.0.0 * @category constructors */ export declare const schemaJson: (schema: Schema.Schema, options?: ParseOptions | undefined) => (body: A, options?: Options.WithContentType | undefined) => Effect.Effect; /** * @since 1.0.0 * @category constructors */ export declare const unsafeJson: (body: unknown, options?: Options.WithContentType | undefined) => HttpServerResponse; /** * @since 1.0.0 * @category constructors */ export declare const urlParams: (body: UrlParams.Input, options?: Options.WithContentType | undefined) => HttpServerResponse; /** * @since 1.0.0 * @category constructors */ export declare const raw: (body: unknown, options?: Options | undefined) => HttpServerResponse; /** * @since 1.0.0 * @category constructors */ export declare const formData: (body: FormData, options?: Options.WithContent | undefined) => HttpServerResponse; /** * @since 1.0.0 * @category constructors */ export declare const stream: (body: Stream.Stream, options?: Options | undefined) => HttpServerResponse; /** * @since 1.0.0 * @category constructors */ export declare const file: (path: string, options?: (Options & FileSystem.StreamOptions) | undefined) => Effect.Effect; /** * @since 1.0.0 * @category constructors */ export declare const fileWeb: (file: Body.HttpBody.FileLike, options?: (Options.WithContent & FileSystem.StreamOptions) | undefined) => Effect.Effect; /** * @since 1.0.0 * @category combinators */ export declare const setHeader: { /** * @since 1.0.0 * @category combinators */ (key: string, value: string): (self: HttpServerResponse) => HttpServerResponse; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, key: string, value: string): HttpServerResponse; }; /** * @since 1.0.0 * @category combinators */ export declare const setHeaders: { /** * @since 1.0.0 * @category combinators */ (input: Headers.Input): (self: HttpServerResponse) => HttpServerResponse; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, input: Headers.Input): HttpServerResponse; }; /** * @since 1.0.0 * @category combinators */ export declare const removeCookie: { /** * @since 1.0.0 * @category combinators */ (name: string): (self: HttpServerResponse) => HttpServerResponse; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, name: string): HttpServerResponse; }; /** * @since 1.0.0 * @category combinators */ export declare const expireCookie: { /** * @since 1.0.0 * @category combinators */ (name: string, options?: Omit): (self: HttpServerResponse) => HttpServerResponse; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, name: string, options?: Omit): HttpServerResponse; }; /** * @since 1.0.0 * @category combinators */ export declare const replaceCookies: { /** * @since 1.0.0 * @category combinators */ (cookies: Cookies.Cookies): (self: HttpServerResponse) => HttpServerResponse; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, cookies: Cookies.Cookies): HttpServerResponse; }; /** * @since 1.0.0 * @category combinators */ export declare const setCookie: { /** * @since 1.0.0 * @category combinators */ (name: string, value: string, options?: Cookie["options"]): (self: HttpServerResponse) => Effect.Effect; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, name: string, value: string, options?: Cookie["options"]): Effect.Effect; }; /** * @since 1.0.0 * @category combinators */ export declare const unsafeSetCookie: { /** * @since 1.0.0 * @category combinators */ (name: string, value: string, options?: Cookie["options"]): (self: HttpServerResponse) => HttpServerResponse; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, name: string, value: string, options?: Cookie["options"]): HttpServerResponse; }; /** * @since 1.0.0 * @category combinators */ export declare const updateCookies: { /** * @since 1.0.0 * @category combinators */ (f: (cookies: Cookies.Cookies) => Cookies.Cookies): (self: HttpServerResponse) => HttpServerResponse; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, f: (cookies: Cookies.Cookies) => Cookies.Cookies): HttpServerResponse; }; /** * @since 1.0.0 * @category combinators */ export declare const mergeCookies: { /** * @since 1.0.0 * @category combinators */ (cookies: Cookies.Cookies): (self: HttpServerResponse) => HttpServerResponse; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, cookies: Cookies.Cookies): HttpServerResponse; }; /** * @since 1.0.0 * @category combinators */ export declare const setCookies: { /** * @since 1.0.0 * @category combinators */ (cookies: Iterable): (self: HttpServerResponse) => Effect.Effect; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, cookies: Iterable): Effect.Effect; }; /** * @since 1.0.0 * @category combinators */ export declare const unsafeSetCookies: { /** * @since 1.0.0 * @category combinators */ (cookies: Iterable): (self: HttpServerResponse) => HttpServerResponse; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, cookies: Iterable): HttpServerResponse; }; /** * @since 1.0.0 * @category combinators */ export declare const setBody: { /** * @since 1.0.0 * @category combinators */ (body: Body.HttpBody): (self: HttpServerResponse) => HttpServerResponse; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, body: Body.HttpBody): HttpServerResponse; }; /** * @since 1.0.0 * @category combinators */ export declare const setStatus: { /** * @since 1.0.0 * @category combinators */ (status: number, statusText?: string | undefined): (self: HttpServerResponse) => HttpServerResponse; /** * @since 1.0.0 * @category combinators */ (self: HttpServerResponse, status: number, statusText?: string | undefined): HttpServerResponse; }; /** * @since 1.0.0 * @category conversions */ export declare const toWeb: (response: HttpServerResponse, options?: { readonly withoutBody?: boolean | undefined; readonly runtime?: Runtime.Runtime | undefined; }) => Response; /** * @since 1.0.0 * @category conversions */ export declare const fromWeb: (response: Response) => HttpServerResponse; //# sourceMappingURL=HttpServerResponse.d.ts.map