Skip to content

RequestProxy

Nodepod API


Nodepod API / src / RequestProxy

Defined in: src/request-proxy.ts:152

new RequestProxy(opts?): RequestProxy

Defined in: src/request-proxy.ts:186

ProxyOptions = {}

RequestProxy

EventEmitter.constructor

_ceiling: number

Defined in: src/polyfills/events.ts:85

EventEmitter._ceiling


_registry: Map<string, EventHandler[]>

Defined in: src/polyfills/events.ts:84

EventEmitter._registry


static DEBUG: boolean = false

Defined in: src/request-proxy.ts:153


static defaultMaxListeners: number

Defined in: src/polyfills/events.ts:108

EventEmitter.defaultMaxListeners


static EventEmitter: EventEmitterConstructor

Defined in: src/polyfills/events.ts:107

EventEmitter.EventEmitter

get isServiceWorkerReady(): boolean

Defined in: src/request-proxy.ts:211

True after a successful Service Worker registration.

boolean

activePorts(instanceId?): number[]

Defined in: src/request-proxy.ts:1088

ports registered with the given instance. no arg returns the union across all instances (flat-list back-compat)

string

number[]


addListener(name, handler): this

Defined in: src/polyfills/events.ts:86

string

EventHandler

this

EventEmitter.addListener


attach(instanceId, processManager): void

Defined in: src/request-proxy.ts:240

attach a Nodepod to this proxy. idempotent: re-attaching with the same id rewires the process manager but keeps registry/preview script etc

string

any

void


configureInstance(instanceId, options): void

Defined in: src/request-proxy.ts:271

string

InstanceProxyOptions

void


createFetchHandler(): (req) => Promise<Response>

Defined in: src/request-proxy.ts:1984

(req) => Promise<Response>


detach(instanceId): void

Defined in: src/request-proxy.ts:281

detach an instance, unregister all its servers and tear down its ws connections. safe on an unknown id

string

void


displayServerUrl(instanceId, port): string | null | undefined

Defined in: src/request-proxy.ts:660

URL state used only for rewriting user-visible CLI output. null means a registered server is waiting for its preview bridge; undefined means the port does not belong to this instance.

string

number

string | null | undefined


emit(name, …payload): boolean

Defined in: src/polyfills/events.ts:92

string

unknown[]

boolean

EventEmitter.emit


eventNames(): string[]

Defined in: src/polyfills/events.ts:96

string[]

EventEmitter.eventNames


getBaseUrl(): string

Defined in: src/request-proxy.ts:206

string


getMaxListeners(): number

Defined in: src/polyfills/events.ts:98

number

EventEmitter.getMaxListeners


handleRequest(instanceId, port, method, url, headers, body?, options?): Promise<CompletedResponse>

Defined in: src/request-proxy.ts:1100

string

number

string

string

Record<string, string>

ArrayBuffer

HandleRequestOptions

Promise<CompletedResponse>

handleRequest(port, method, url, headers, body?, options?): Promise<CompletedResponse>

Defined in: src/request-proxy.ts:1109

number

string

string

Record<string, string>

ArrayBuffer

HandleRequestOptions

Promise<CompletedResponse>


initServiceWorker(config?): Promise<void>

Defined in: src/request-proxy.ts:1223

concurrent callers share one in-flight promise, stops the Chromium SW-registration storm when N Nodepods boot in parallel.

NOT async on purpose. an async wrapper would create a fresh outer promise per call, so N callers each get their own identity and a .catch() on the inner shared promise wouldn’t reach them, causing unhandled rejection warnings. returning the memoized promise directly means all callers share one object

ServiceWorkerConfig

Promise<void>


listenerCount(name): number

Defined in: src/polyfills/events.ts:95

string

number

EventEmitter.listenerCount


listeners(name): EventHandler[]

Defined in: src/polyfills/events.ts:93

string

EventHandler[]

EventEmitter.listeners


off(name, handler): this

Defined in: src/polyfills/events.ts:90

string

EventHandler

this

EventEmitter.off


on(name, handler): this

Defined in: src/polyfills/events.ts:87

string

EventHandler

this

EventEmitter.on


once(name, handler): this

Defined in: src/polyfills/events.ts:88

string

EventHandler

this

EventEmitter.once


prependListener(name, handler): this

Defined in: src/polyfills/events.ts:99

string

EventHandler

this

EventEmitter.prependListener


prependOnceListener(name, handler): this

Defined in: src/polyfills/events.ts:100

string

EventHandler

this

EventEmitter.prependOnceListener


rawListeners(name): EventHandler[]

Defined in: src/polyfills/events.ts:94

string

EventHandler[]

EventEmitter.rawListeners


register(instanceId, server, port, hostname?): void

Defined in: src/request-proxy.ts:335

string

Server | IVirtualServer

number

string

void

register(server, port, hostname?): void

Defined in: src/request-proxy.ts:341

Server | IVirtualServer

number

string

void


removeAllListeners(name?): this

Defined in: src/polyfills/events.ts:91

string

this

EventEmitter.removeAllListeners


removeListener(name, handler): this

Defined in: src/polyfills/events.ts:89

string

EventHandler

this

EventEmitter.removeListener


serverUrl(instanceId, port): string

Defined in: src/request-proxy.ts:645

string

number

string

serverUrl(port): string

Defined in: src/request-proxy.ts:646

number

string


setBaseUrl(url): void

Defined in: src/request-proxy.ts:202

Update the origin used by serverUrl() / onServerReady (e.g. Node local HTTP).

string

void


setMaxListeners(limit): this

Defined in: src/polyfills/events.ts:97

number

this

EventEmitter.setMaxListeners


setPreviewInspectorScript(instanceId, script): void

Defined in: src/request-proxy.ts:542

string

string | null

void


setPreviewScript(instanceId, script): void

Defined in: src/request-proxy.ts:512

string

string | null

void

setPreviewScript(script): void

Defined in: src/request-proxy.ts:513

string | null

void


setProcessManager(pm): void

Defined in: src/request-proxy.ts:329

any

void

use attach(instanceId, pm). legacy callers route to DEFAULT_INSTANCE


setWatermark(enabled): void

Defined in: src/request-proxy.ts:558

boolean

void


unregister(instanceId, port): void

Defined in: src/request-proxy.ts:437

string

number

void

unregister(port): void

Defined in: src/request-proxy.ts:438

number

void


static getEventListeners(target, name): EventHandler[]

Defined in: src/polyfills/events.ts:112

EventEmitter

string

EventHandler[]

EventEmitter.getEventListeners


static listenerCount(target, name): number

Defined in: src/polyfills/events.ts:109

EventEmitter

string

number

EventEmitter.listenerCount


static on(target, name): AsyncIterable<unknown[]>

Defined in: src/polyfills/events.ts:111

EventEmitter

string

AsyncIterable<unknown[]>

EventEmitter.on


static once(target, name): Promise<unknown[]>

Defined in: src/polyfills/events.ts:110

EventEmitter

string

Promise<unknown[]>

EventEmitter.once