UNPKG

@roots/bud-api

Version:

bud.js core module

77 lines (69 loc) 2.01 kB
import type { HttpProxy, Options as ProxyOptions, } from '@roots/bud-support/http-proxy-middleware' import type {Agent} from 'node:http' import type {ServerOptions as HttpsServerOptions} from 'node:https' import type {Stream} from 'node:stream' export interface Options extends HttpProxy.Options { agent?: Agent auth?: string autoRewrite?: boolean buffer?: Stream changeOrigin?: boolean cookieDomainRewrite?: | {[oldDomain: string]: string} | false | string | undefined cookiePathRewrite?: | {[oldDomain: string]: string} | false | string | undefined ejectPlugins: boolean followRedirects?: boolean forward?: ProxyOptions[`forward`] headers?: Record<string, string> hostRewrite?: string ignorePath?: boolean localAddress?: string logger: Pick<Console, `error` | `info` | `warn`> method?: string on: ProxyOptions[`on`] onProxyReq?: any onProxyRes?: any pathFilter: Array<string> pathRewrite?: HttpProxy.Options[`pathRewrite`] plugins: ProxyOptions[`plugins`] prependPath?: boolean preserveHeaderKeyCase?: boolean protocolRewrite?: HttpProxy.Options[`protocolRewrite`] proxyTimeout?: number /** * Not a proxy-party option * * Used by default `onProxyRes` handler to rewrite the page body */ replacements?: ReplacementCallback | ReplacementTuples router?: HttpProxy.Options[`router`] secure?: boolean selfHandleResponse?: boolean ssl?: HttpsServerOptions target?: HttpProxy.Options[`target`] timeout?: number toProxy?: boolean ws?: boolean xfwd?: boolean } export type ReplacementTuples = Array<[string, string]> export type ReplacementCallback = ( replacements: ReplacementTuples | undefined, ) => ReplacementTuples export type OptionsCallback = ( options: Partial<Options> | undefined, ) => Partial<Options> export type Parameters = [ (boolean | number | OptionsCallback | Partial<Options> | string | URL)?, (Partial<Options> | ReplacementCallback | ReplacementTuples)?, ]