@gadgetinc/substrate 0.1.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/kernel.wasm +0 -0
- package/dist/assets/manifest.json +32 -0
- package/dist/assets/network-driver.js +2 -0
- package/dist/assets/network-driver.js.map +1 -0
- package/dist/assets/runtime.js +264 -0
- package/dist/assets/runtime.js.map +1 -0
- package/dist/binaries.d.ts +58 -0
- package/dist/binaries.d.ts.map +1 -0
- package/dist/boot/index.d.ts +318 -0
- package/dist/boot/index.d.ts.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4589 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel/bridge.d.ts +64 -0
- package/dist/kernel/bridge.d.ts.map +1 -0
- package/dist/kernel/types.d.ts +518 -0
- package/dist/kernel/types.d.ts.map +1 -0
- package/dist/kernel/wasm.d.ts +20 -0
- package/dist/kernel/wasm.d.ts.map +1 -0
- package/dist/node/assert.d.ts +99 -0
- package/dist/node/assert.d.ts.map +1 -0
- package/dist/node/async_hooks.d.ts +88 -0
- package/dist/node/async_hooks.d.ts.map +1 -0
- package/dist/node/buffer.d.ts +62 -0
- package/dist/node/buffer.d.ts.map +1 -0
- package/dist/node/child_process.d.ts +300 -0
- package/dist/node/child_process.d.ts.map +1 -0
- package/dist/node/cluster.d.ts +37 -0
- package/dist/node/cluster.d.ts.map +1 -0
- package/dist/node/constants.d.ts +306 -0
- package/dist/node/constants.d.ts.map +1 -0
- package/dist/node/crypto.d.ts +176 -0
- package/dist/node/crypto.d.ts.map +1 -0
- package/dist/node/dgram.d.ts +44 -0
- package/dist/node/dgram.d.ts.map +1 -0
- package/dist/node/diagnostics_channel.d.ts +57 -0
- package/dist/node/diagnostics_channel.d.ts.map +1 -0
- package/dist/node/dns.d.ts +278 -0
- package/dist/node/dns.d.ts.map +1 -0
- package/dist/node/domain.d.ts +21 -0
- package/dist/node/domain.d.ts.map +1 -0
- package/dist/node/events.d.ts +54 -0
- package/dist/node/events.d.ts.map +1 -0
- package/dist/node/fs/promises.d.ts +116 -0
- package/dist/node/fs/promises.d.ts.map +1 -0
- package/dist/node/fs.d.ts +536 -0
- package/dist/node/fs.d.ts.map +1 -0
- package/dist/node/http.d.ts +471 -0
- package/dist/node/http.d.ts.map +1 -0
- package/dist/node/http2.d.ts +508 -0
- package/dist/node/http2.d.ts.map +1 -0
- package/dist/node/https.d.ts +42 -0
- package/dist/node/https.d.ts.map +1 -0
- package/dist/node/inspector.d.ts +25 -0
- package/dist/node/inspector.d.ts.map +1 -0
- package/dist/node/net.d.ts +231 -0
- package/dist/node/net.d.ts.map +1 -0
- package/dist/node/os.d.ts +318 -0
- package/dist/node/os.d.ts.map +1 -0
- package/dist/node/path.d.ts +144 -0
- package/dist/node/path.d.ts.map +1 -0
- package/dist/node/process.d.ts +105 -0
- package/dist/node/process.d.ts.map +1 -0
- package/dist/node/punycode.d.ts +34 -0
- package/dist/node/punycode.d.ts.map +1 -0
- package/dist/node/querystring.d.ts +49 -0
- package/dist/node/querystring.d.ts.map +1 -0
- package/dist/node/readline.d.ts +99 -0
- package/dist/node/readline.d.ts.map +1 -0
- package/dist/node/stream.d.ts +409 -0
- package/dist/node/stream.d.ts.map +1 -0
- package/dist/node/string_decoder.d.ts +46 -0
- package/dist/node/string_decoder.d.ts.map +1 -0
- package/dist/node/timers.d.ts +79 -0
- package/dist/node/timers.d.ts.map +1 -0
- package/dist/node/tls.d.ts +159 -0
- package/dist/node/tls.d.ts.map +1 -0
- package/dist/node/trace_events.d.ts +18 -0
- package/dist/node/trace_events.d.ts.map +1 -0
- package/dist/node/tty.d.ts +67 -0
- package/dist/node/tty.d.ts.map +1 -0
- package/dist/node/url.d.ts +85 -0
- package/dist/node/url.d.ts.map +1 -0
- package/dist/node/util.d.ts +252 -0
- package/dist/node/util.d.ts.map +1 -0
- package/dist/node/v8.d.ts +134 -0
- package/dist/node/v8.d.ts.map +1 -0
- package/dist/node/vm.d.ts +89 -0
- package/dist/node/vm.d.ts.map +1 -0
- package/dist/node/wasi.d.ts +25 -0
- package/dist/node/wasi.d.ts.map +1 -0
- package/dist/node/worker_threads.d.ts +206 -0
- package/dist/node/worker_threads.d.ts.map +1 -0
- package/dist/node/ws.d.ts +110 -0
- package/dist/node/ws.d.ts.map +1 -0
- package/dist/node/zlib.d.ts +328 -0
- package/dist/node/zlib.d.ts.map +1 -0
- package/dist/persistence/opfs-store.d.ts +93 -0
- package/dist/persistence/opfs-store.d.ts.map +1 -0
- package/dist/runtime/async-function-shim.d.ts +27 -0
- package/dist/runtime/async-function-shim.d.ts.map +1 -0
- package/dist/runtime/fs-interface.d.ts +60 -0
- package/dist/runtime/fs-interface.d.ts.map +1 -0
- package/dist/runtime/index.d.ts +113 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/loader.d.ts +50 -0
- package/dist/runtime/loader.d.ts.map +1 -0
- package/dist/runtime/loaders/async-transform.d.ts +40 -0
- package/dist/runtime/loaders/async-transform.d.ts.map +1 -0
- package/dist/runtime/loaders/cjs.d.ts +37 -0
- package/dist/runtime/loaders/cjs.d.ts.map +1 -0
- package/dist/runtime/loaders/detect-module-type.d.ts +21 -0
- package/dist/runtime/loaders/detect-module-type.d.ts.map +1 -0
- package/dist/runtime/loaders/esm.d.ts +140 -0
- package/dist/runtime/loaders/esm.d.ts.map +1 -0
- package/dist/runtime/loaders/source-map-registry.d.ts +43 -0
- package/dist/runtime/loaders/source-map-registry.d.ts.map +1 -0
- package/dist/runtime/loaders/source-map.d.ts +50 -0
- package/dist/runtime/loaders/source-map.d.ts.map +1 -0
- package/dist/runtime/loaders/utils.d.ts +6 -0
- package/dist/runtime/loaders/utils.d.ts.map +1 -0
- package/dist/runtime/native-globals.d.ts +24 -0
- package/dist/runtime/native-globals.d.ts.map +1 -0
- package/dist/runtime/network-driver.d.ts +78 -0
- package/dist/runtime/network-driver.d.ts.map +1 -0
- package/dist/runtime/process-context.d.ts +96 -0
- package/dist/runtime/process-context.d.ts.map +1 -0
- package/dist/runtime/process-event-loop.d.ts +356 -0
- package/dist/runtime/process-event-loop.d.ts.map +1 -0
- package/dist/runtime/process-handler.d.ts +71 -0
- package/dist/runtime/process-handler.d.ts.map +1 -0
- package/dist/runtime/process-handlers/node.d.ts +22 -0
- package/dist/runtime/process-handlers/node.d.ts.map +1 -0
- package/dist/runtime/process-handlers/npm.d.ts +20 -0
- package/dist/runtime/process-handlers/npm.d.ts.map +1 -0
- package/dist/runtime/process-handlers/npx.d.ts +11 -0
- package/dist/runtime/process-handlers/npx.d.ts.map +1 -0
- package/dist/runtime/process-handlers/pnpm.d.ts +12 -0
- package/dist/runtime/process-handlers/pnpm.d.ts.map +1 -0
- package/dist/runtime/process-handlers/shell.d.ts +24 -0
- package/dist/runtime/process-handlers/shell.d.ts.map +1 -0
- package/dist/runtime/process-handlers/yarn.d.ts +12 -0
- package/dist/runtime/process-handlers/yarn.d.ts.map +1 -0
- package/dist/runtime/process-helpers.d.ts +17 -0
- package/dist/runtime/process-helpers.d.ts.map +1 -0
- package/dist/runtime/process-manager.d.ts +87 -0
- package/dist/runtime/process-manager.d.ts.map +1 -0
- package/dist/runtime/process-scheduler.d.ts +123 -0
- package/dist/runtime/process-scheduler.d.ts.map +1 -0
- package/dist/runtime/process-waker.d.ts +24 -0
- package/dist/runtime/process-waker.d.ts.map +1 -0
- package/dist/runtime/promise.d.ts +44 -0
- package/dist/runtime/promise.d.ts.map +1 -0
- package/dist/runtime/stack-trace.d.ts +52 -0
- package/dist/runtime/stack-trace.d.ts.map +1 -0
- package/dist/runtime/wasm-package-interceptor.d.ts +141 -0
- package/dist/runtime/wasm-package-interceptor.d.ts.map +1 -0
- package/dist/runtime/web-streams.d.ts +57 -0
- package/dist/runtime/web-streams.d.ts.map +1 -0
- package/dist/runtime/websocket.d.ts +102 -0
- package/dist/runtime/websocket.d.ts.map +1 -0
- package/dist/shim/websocket-shim-inline.d.ts +9 -0
- package/dist/shim/websocket-shim-inline.d.ts.map +1 -0
- package/dist/shim/websocket-shim.d.ts +15 -0
- package/dist/shim/websocket-shim.d.ts.map +1 -0
- package/dist/sw/index.d.ts +53 -0
- package/dist/sw/index.d.ts.map +1 -0
- package/dist/utils/debug.d.ts +75 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/path.d.ts +20 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/tarball.d.ts +37 -0
- package/dist/utils/tarball.d.ts.map +1 -0
- package/dist/utils/websocket-protocol.d.ts +102 -0
- package/dist/utils/websocket-protocol.d.ts.map +1 -0
- package/dist/worker/host.d.ts +14 -0
- package/dist/worker/host.d.ts.map +1 -0
- package/dist/worker/types.d.ts +209 -0
- package/dist/worker/types.d.ts.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,471 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js http module implementation
|
|
3
|
+
*
|
|
4
|
+
* Architecture:
|
|
5
|
+
* 1. JS calls kernel.net_listen(port) to create a virtual server
|
|
6
|
+
* 2. Service Worker intercepts HTTP requests to that port
|
|
7
|
+
* 3. Service Worker delivers NetAccept message to kernel with request data
|
|
8
|
+
* 4. Kernel emits NetAccept event → JS creates IncomingMessage + ServerResponse
|
|
9
|
+
* 5. User handles request, writes to ServerResponse
|
|
10
|
+
* 6. JS calls kernel.net_conn_write to send response
|
|
11
|
+
* 7. Service Worker reads outbound and responds to browser
|
|
12
|
+
*/
|
|
13
|
+
import { Readable, Writable, type ReadableOptions, type WritableOptions } from "./stream.js";
|
|
14
|
+
import { Socket } from "./net.js";
|
|
15
|
+
import { Buffer } from "./buffer.js";
|
|
16
|
+
export interface IncomingHttpHeaders {
|
|
17
|
+
[header: string]: string | string[] | undefined;
|
|
18
|
+
}
|
|
19
|
+
export interface OutgoingHttpHeaders {
|
|
20
|
+
[header: string]: string | number | string[] | undefined;
|
|
21
|
+
}
|
|
22
|
+
export interface ServerOptions {
|
|
23
|
+
IncomingMessage?: typeof IncomingMessage;
|
|
24
|
+
ServerResponse?: typeof ServerResponse;
|
|
25
|
+
}
|
|
26
|
+
export type RequestListener = (req: IncomingMessage, res: ServerResponse) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Represents an incoming HTTP request (server) or response (client).
|
|
29
|
+
*
|
|
30
|
+
* This is a pure push stream — body data is pushed externally by the
|
|
31
|
+
* HTTP server (which reads from the Socket) or by the HTTP client.
|
|
32
|
+
* This matches Node.js where the HTTP parser pushes data to IncomingMessage.
|
|
33
|
+
*/
|
|
34
|
+
export declare class IncomingMessage extends Readable {
|
|
35
|
+
/** HTTP version */
|
|
36
|
+
httpVersion: string;
|
|
37
|
+
httpVersionMajor: number;
|
|
38
|
+
httpVersionMinor: number;
|
|
39
|
+
/** Request headers */
|
|
40
|
+
headers: IncomingHttpHeaders;
|
|
41
|
+
rawHeaders: string[];
|
|
42
|
+
/** HTTP trailers (headers after body) */
|
|
43
|
+
trailers: Record<string, string>;
|
|
44
|
+
rawTrailers: string[];
|
|
45
|
+
/** HTTP method (for requests) */
|
|
46
|
+
method?: string;
|
|
47
|
+
/** Request URL (for requests) */
|
|
48
|
+
url?: string;
|
|
49
|
+
/** Status code (for responses) */
|
|
50
|
+
statusCode?: number;
|
|
51
|
+
statusMessage?: string;
|
|
52
|
+
/** The socket/connection — the canonical handle to the kernel connection */
|
|
53
|
+
socket: Socket;
|
|
54
|
+
/** Whether the message has been fully received */
|
|
55
|
+
complete: boolean;
|
|
56
|
+
/** Whether the request was aborted */
|
|
57
|
+
aborted: boolean;
|
|
58
|
+
constructor(socket: Socket, options?: ReadableOptions);
|
|
59
|
+
/**
|
|
60
|
+
* Set headers from kernel NetMeta
|
|
61
|
+
*/
|
|
62
|
+
_setHeaders(headers: Array<[string, string]>): void;
|
|
63
|
+
/**
|
|
64
|
+
* Push body data into this stream.
|
|
65
|
+
* Called by the HTTP server or client to deliver body chunks.
|
|
66
|
+
*/
|
|
67
|
+
_pushFromKernel(data: Uint8Array | null): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* No-op: IncomingMessage is a push stream.
|
|
70
|
+
* Body data is delivered externally via _pushFromKernel().
|
|
71
|
+
*/
|
|
72
|
+
_read(_size: number): void;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Represents an HTTP response being sent back to the client
|
|
76
|
+
*/
|
|
77
|
+
export declare class ServerResponse extends Writable {
|
|
78
|
+
/** Status code */
|
|
79
|
+
statusCode: number;
|
|
80
|
+
statusMessage: string;
|
|
81
|
+
/** Headers */
|
|
82
|
+
private _headers;
|
|
83
|
+
private _headersSent;
|
|
84
|
+
/** Connection ID from kernel */
|
|
85
|
+
private _connId;
|
|
86
|
+
/** Request that initiated this response */
|
|
87
|
+
req: IncomingMessage;
|
|
88
|
+
/** The socket/connection — same as req.socket (matches Node.js) */
|
|
89
|
+
socket: Socket;
|
|
90
|
+
constructor(connId: number, req: IncomingMessage, options?: WritableOptions);
|
|
91
|
+
/**
|
|
92
|
+
* Check if headers have been sent
|
|
93
|
+
*/
|
|
94
|
+
get headersSent(): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Set a header
|
|
97
|
+
*/
|
|
98
|
+
setHeader(name: string, value: string | number | string[]): this;
|
|
99
|
+
/**
|
|
100
|
+
* Get a header
|
|
101
|
+
*/
|
|
102
|
+
getHeader(name: string): string | number | string[] | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Get all header names
|
|
105
|
+
*/
|
|
106
|
+
getHeaderNames(): string[];
|
|
107
|
+
/**
|
|
108
|
+
* Get all headers
|
|
109
|
+
*/
|
|
110
|
+
getHeaders(): OutgoingHttpHeaders;
|
|
111
|
+
/**
|
|
112
|
+
* Check if header exists
|
|
113
|
+
*/
|
|
114
|
+
hasHeader(name: string): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Remove a header
|
|
117
|
+
*/
|
|
118
|
+
removeHeader(name: string): void;
|
|
119
|
+
/**
|
|
120
|
+
* Write the status line and headers
|
|
121
|
+
*/
|
|
122
|
+
writeHead(statusCode: number, statusMessage?: string | OutgoingHttpHeaders, headers?: OutgoingHttpHeaders): this;
|
|
123
|
+
/**
|
|
124
|
+
* Flush headers to the kernel
|
|
125
|
+
*/
|
|
126
|
+
flushHeaders(): void;
|
|
127
|
+
/**
|
|
128
|
+
* Internal: send headers to kernel
|
|
129
|
+
*/
|
|
130
|
+
private _sendHeaders;
|
|
131
|
+
/**
|
|
132
|
+
* Write implementation - sends data to kernel
|
|
133
|
+
*/
|
|
134
|
+
_write(chunk: unknown, _encoding: string, callback: (error?: Error | null) => void): void;
|
|
135
|
+
/**
|
|
136
|
+
* Final implementation - close the connection
|
|
137
|
+
*/
|
|
138
|
+
_final(callback: (error?: Error | null) => void): void;
|
|
139
|
+
}
|
|
140
|
+
type ServerEventListener = (...args: unknown[]) => void;
|
|
141
|
+
/**
|
|
142
|
+
* HTTP Server
|
|
143
|
+
*/
|
|
144
|
+
export declare class Server {
|
|
145
|
+
private _serverId;
|
|
146
|
+
private _port;
|
|
147
|
+
private _listening;
|
|
148
|
+
private _events;
|
|
149
|
+
private _requestListener;
|
|
150
|
+
/** Custom IncomingMessage class */
|
|
151
|
+
IncomingMessage: typeof IncomingMessage;
|
|
152
|
+
/** Custom ServerResponse class */
|
|
153
|
+
ServerResponse: typeof ServerResponse;
|
|
154
|
+
constructor(options?: ServerOptions | RequestListener, requestListener?: RequestListener);
|
|
155
|
+
/**
|
|
156
|
+
* Add event listener
|
|
157
|
+
*/
|
|
158
|
+
on(event: string, listener: ServerEventListener): this;
|
|
159
|
+
/**
|
|
160
|
+
* Add one-time event listener
|
|
161
|
+
*/
|
|
162
|
+
once(event: string, listener: ServerEventListener): this;
|
|
163
|
+
/**
|
|
164
|
+
* Remove event listener
|
|
165
|
+
*/
|
|
166
|
+
off(event: string, listener: ServerEventListener): this;
|
|
167
|
+
/**
|
|
168
|
+
* Alias for on()
|
|
169
|
+
*/
|
|
170
|
+
addListener(event: string, listener: ServerEventListener): this;
|
|
171
|
+
/**
|
|
172
|
+
* Alias for off()
|
|
173
|
+
*/
|
|
174
|
+
removeListener(event: string, listener: ServerEventListener): this;
|
|
175
|
+
/**
|
|
176
|
+
* Add event listener to the beginning of the listeners array
|
|
177
|
+
*/
|
|
178
|
+
prependListener(event: string, listener: ServerEventListener): this;
|
|
179
|
+
/**
|
|
180
|
+
* Add one-time event listener to the beginning of the listeners array
|
|
181
|
+
*/
|
|
182
|
+
prependOnceListener(event: string, listener: ServerEventListener): this;
|
|
183
|
+
/**
|
|
184
|
+
* Remove all listeners for an event (or all events if no event specified)
|
|
185
|
+
*/
|
|
186
|
+
removeAllListeners(event?: string): this;
|
|
187
|
+
/**
|
|
188
|
+
* Get array of listeners for an event
|
|
189
|
+
*/
|
|
190
|
+
listeners(event: string): ServerEventListener[];
|
|
191
|
+
/**
|
|
192
|
+
* Get count of listeners for an event
|
|
193
|
+
*/
|
|
194
|
+
listenerCount(event: string): number;
|
|
195
|
+
/**
|
|
196
|
+
* Emit event
|
|
197
|
+
*/
|
|
198
|
+
private emit;
|
|
199
|
+
/**
|
|
200
|
+
* Safely emit a 'request' event and handle errors by sending a 500 response.
|
|
201
|
+
* This ensures the response is always completed even if the handler throws.
|
|
202
|
+
*
|
|
203
|
+
* Note: We directly invoke listeners here rather than using emit() because
|
|
204
|
+
* we need to catch errors so we can send a 500 response.
|
|
205
|
+
*/
|
|
206
|
+
private _safeEmitRequest;
|
|
207
|
+
/**
|
|
208
|
+
* Get listening status
|
|
209
|
+
*/
|
|
210
|
+
get listening(): boolean;
|
|
211
|
+
/** Event loop this server is registered with */
|
|
212
|
+
private _eventLoop;
|
|
213
|
+
/** Timeout for idle connections (no-op in Substrate) */
|
|
214
|
+
keepAliveTimeout: number;
|
|
215
|
+
/** Timeout for receiving the complete HTTP headers (no-op in Substrate) */
|
|
216
|
+
headersTimeout: number;
|
|
217
|
+
/** Timeout for the overall request (no-op in Substrate) */
|
|
218
|
+
requestTimeout: number;
|
|
219
|
+
/** Max number of headers (no-op in Substrate) */
|
|
220
|
+
maxHeadersCount: number;
|
|
221
|
+
/** Max number of requests per socket (no-op in Substrate) */
|
|
222
|
+
maxRequestsPerSocket: number;
|
|
223
|
+
setTimeout(msecs?: number, callback?: () => void): this;
|
|
224
|
+
setMaxListeners(_n: number): this;
|
|
225
|
+
getMaxListeners(): number;
|
|
226
|
+
ref(): this;
|
|
227
|
+
unref(): this;
|
|
228
|
+
eventNames(): string[];
|
|
229
|
+
rawListeners(event: string): ServerEventListener[];
|
|
230
|
+
/**
|
|
231
|
+
* Start listening for connections
|
|
232
|
+
*/
|
|
233
|
+
listen(options: {
|
|
234
|
+
port?: number;
|
|
235
|
+
host?: string;
|
|
236
|
+
backlog?: number;
|
|
237
|
+
signal?: unknown;
|
|
238
|
+
}, callback?: () => void): this;
|
|
239
|
+
listen(port: number, hostname?: string | (() => void), callback?: () => void): this;
|
|
240
|
+
listen(port: number, callback?: () => void): this;
|
|
241
|
+
/**
|
|
242
|
+
* Handle raw TCP connection (internal Substrate connections)
|
|
243
|
+
* Reads HTTP request from TCP stream and processes it
|
|
244
|
+
*/
|
|
245
|
+
private _handleRawTcpConnection;
|
|
246
|
+
/**
|
|
247
|
+
* Handle NetAccept event from kernel
|
|
248
|
+
*/
|
|
249
|
+
private _handleNetAccept;
|
|
250
|
+
/**
|
|
251
|
+
* Stop listening
|
|
252
|
+
*/
|
|
253
|
+
close(callback?: (err?: Error) => void): this;
|
|
254
|
+
/**
|
|
255
|
+
* Get the address the server is listening on
|
|
256
|
+
*/
|
|
257
|
+
address(): {
|
|
258
|
+
port: number;
|
|
259
|
+
family: string;
|
|
260
|
+
address: string;
|
|
261
|
+
} | null;
|
|
262
|
+
}
|
|
263
|
+
export interface RequestOptions {
|
|
264
|
+
protocol?: string;
|
|
265
|
+
host?: string;
|
|
266
|
+
hostname?: string;
|
|
267
|
+
port?: number | string;
|
|
268
|
+
path?: string;
|
|
269
|
+
method?: string;
|
|
270
|
+
headers?: OutgoingHttpHeaders;
|
|
271
|
+
timeout?: number;
|
|
272
|
+
agent?: unknown;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* ClientRequest - represents an outgoing HTTP request
|
|
276
|
+
* Wraps browser fetch() API
|
|
277
|
+
*/
|
|
278
|
+
export declare class ClientRequest extends Writable {
|
|
279
|
+
/** The request method */
|
|
280
|
+
method: string;
|
|
281
|
+
/** The request path */
|
|
282
|
+
path: string;
|
|
283
|
+
/** The request host */
|
|
284
|
+
host: string;
|
|
285
|
+
/** The request protocol */
|
|
286
|
+
protocol: string;
|
|
287
|
+
/** The request headers */
|
|
288
|
+
private _headers;
|
|
289
|
+
/** Chunks of body data */
|
|
290
|
+
private _bodyChunks;
|
|
291
|
+
/** Whether the request has been sent */
|
|
292
|
+
private _sent;
|
|
293
|
+
/** Whether the request has been aborted */
|
|
294
|
+
private _aborted;
|
|
295
|
+
/** Timeout ID */
|
|
296
|
+
private _timeoutId?;
|
|
297
|
+
/** Response callback */
|
|
298
|
+
private _responseCallback?;
|
|
299
|
+
/** Event loop for keeping the process alive during async fetch */
|
|
300
|
+
private _eventLoop;
|
|
301
|
+
constructor(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void);
|
|
302
|
+
/**
|
|
303
|
+
* Set a header
|
|
304
|
+
*/
|
|
305
|
+
setHeader(name: string, value: string | number | string[]): this;
|
|
306
|
+
/**
|
|
307
|
+
* Get a header
|
|
308
|
+
*/
|
|
309
|
+
getHeader(name: string): string | undefined;
|
|
310
|
+
/**
|
|
311
|
+
* Remove a header
|
|
312
|
+
*/
|
|
313
|
+
removeHeader(name: string): void;
|
|
314
|
+
/**
|
|
315
|
+
* Get all headers
|
|
316
|
+
*/
|
|
317
|
+
getHeaders(): Record<string, string>;
|
|
318
|
+
/**
|
|
319
|
+
* Set a timeout on the request
|
|
320
|
+
*/
|
|
321
|
+
setTimeout(msecs: number, callback?: () => void): this;
|
|
322
|
+
/**
|
|
323
|
+
* Abort the request
|
|
324
|
+
*/
|
|
325
|
+
abort(): void;
|
|
326
|
+
/**
|
|
327
|
+
* Write data to the request body
|
|
328
|
+
*/
|
|
329
|
+
_write(chunk: Buffer | string, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
|
|
330
|
+
/**
|
|
331
|
+
* Finalize and send the request
|
|
332
|
+
*/
|
|
333
|
+
_final(callback: (error?: Error | null) => void): void;
|
|
334
|
+
/**
|
|
335
|
+
* End the request (write optional data and send)
|
|
336
|
+
*/
|
|
337
|
+
end(chunk?: unknown, encoding?: unknown, callback?: unknown): this;
|
|
338
|
+
private _sendRequest;
|
|
339
|
+
private _sendUpgradeRequest;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Make an HTTP request
|
|
343
|
+
*/
|
|
344
|
+
export declare function request(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest;
|
|
345
|
+
export declare function request(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest;
|
|
346
|
+
/**
|
|
347
|
+
* Make an HTTP GET request (convenience method)
|
|
348
|
+
*/
|
|
349
|
+
export declare function get(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest;
|
|
350
|
+
export declare function get(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest;
|
|
351
|
+
/**
|
|
352
|
+
* Create an HTTP server
|
|
353
|
+
*/
|
|
354
|
+
export declare function createServer(options?: ServerOptions | RequestListener, requestListener?: RequestListener): Server;
|
|
355
|
+
export declare const METHODS: string[];
|
|
356
|
+
export declare const STATUS_CODES: {
|
|
357
|
+
[code: number]: string;
|
|
358
|
+
};
|
|
359
|
+
/** Listeners for port events */
|
|
360
|
+
export type PortEventListener = (event: "listen" | "close", port: number, hostname?: string) => void;
|
|
361
|
+
/**
|
|
362
|
+
* Register a listener for port events (listen/close)
|
|
363
|
+
* Returns an unsubscribe function
|
|
364
|
+
*/
|
|
365
|
+
export declare function onPortEvent(listener: PortEventListener): () => void;
|
|
366
|
+
/**
|
|
367
|
+
* Register a server for request routing
|
|
368
|
+
* @internal
|
|
369
|
+
*/
|
|
370
|
+
export declare function _registerServer(port: number, serverId: number, server: Server, pid: number): void;
|
|
371
|
+
/**
|
|
372
|
+
* Unregister a server
|
|
373
|
+
* @internal
|
|
374
|
+
*/
|
|
375
|
+
export declare function _unregisterServer(port: number): void;
|
|
376
|
+
/**
|
|
377
|
+
* Clean up all servers owned by a process.
|
|
378
|
+
* Called when a process exits to ensure servers don't linger.
|
|
379
|
+
* @internal
|
|
380
|
+
*/
|
|
381
|
+
export declare function _cleanupServersForPid(pid: number): void;
|
|
382
|
+
/**
|
|
383
|
+
* Get a registered server by port
|
|
384
|
+
* @internal
|
|
385
|
+
*/
|
|
386
|
+
export declare function _getServer(port: number): {
|
|
387
|
+
serverId: number;
|
|
388
|
+
server: Server;
|
|
389
|
+
} | undefined;
|
|
390
|
+
/**
|
|
391
|
+
* Check if a port has a registered server
|
|
392
|
+
*/
|
|
393
|
+
export declare function isListening(port: number): boolean;
|
|
394
|
+
/**
|
|
395
|
+
* Get all listening ports
|
|
396
|
+
*/
|
|
397
|
+
export declare function getListeningPorts(): number[];
|
|
398
|
+
/**
|
|
399
|
+
* Make a fetch request to a Substrate virtual server.
|
|
400
|
+
*
|
|
401
|
+
* @internal This function is used internally by the worker host.
|
|
402
|
+
* External code should use `bootSubstrate()` from `@gadgetinc/substrate/boot`
|
|
403
|
+
* which provides transparent network interception via Service Workers.
|
|
404
|
+
*
|
|
405
|
+
* This function routes requests to virtual servers running in the kernel.
|
|
406
|
+
* It's called by the worker host when processing requests forwarded from
|
|
407
|
+
* the Service Worker.
|
|
408
|
+
*
|
|
409
|
+
* The request is delivered to the kernel with a driver event queue.
|
|
410
|
+
* The kernel emits NetOutboundWritable events when the server writes response
|
|
411
|
+
* data, and NetClosed when the connection is closed. This replaces the old
|
|
412
|
+
* blind 1ms polling approach with event-driven completion.
|
|
413
|
+
*/
|
|
414
|
+
export declare function substrateFetch(input: string | URL | Request, init?: RequestInit): Promise<Response>;
|
|
415
|
+
export interface AgentOptions {
|
|
416
|
+
keepAlive?: boolean;
|
|
417
|
+
keepAliveMsecs?: number;
|
|
418
|
+
maxSockets?: number;
|
|
419
|
+
maxTotalSockets?: number;
|
|
420
|
+
maxFreeSockets?: number;
|
|
421
|
+
scheduling?: "fifo" | "lifo";
|
|
422
|
+
timeout?: number;
|
|
423
|
+
}
|
|
424
|
+
declare const Agent_base: any;
|
|
425
|
+
/**
|
|
426
|
+
* HTTP Agent - manages connection persistence and reuse
|
|
427
|
+
* In Substrate, we rely on browser's connection pooling via fetch()
|
|
428
|
+
*/
|
|
429
|
+
export declare class Agent extends Agent_base {
|
|
430
|
+
maxSockets: number;
|
|
431
|
+
maxTotalSockets: number;
|
|
432
|
+
maxFreeSockets: number;
|
|
433
|
+
keepAliveMsecs: number;
|
|
434
|
+
keepAlive: boolean;
|
|
435
|
+
scheduling: "fifo" | "lifo";
|
|
436
|
+
options: AgentOptions;
|
|
437
|
+
requests: Record<string, unknown[]>;
|
|
438
|
+
sockets: Record<string, unknown[]>;
|
|
439
|
+
freeSockets: Record<string, unknown[]>;
|
|
440
|
+
constructor(options?: AgentOptions);
|
|
441
|
+
createConnection(_options: object, callback?: (err: Error | null, socket?: Socket) => void): Socket;
|
|
442
|
+
getName(options: {
|
|
443
|
+
host?: string;
|
|
444
|
+
port?: number;
|
|
445
|
+
localAddress?: string;
|
|
446
|
+
}): string;
|
|
447
|
+
addRequest(_req: ClientRequest, _options: object, _port?: number, _localAddress?: string): void;
|
|
448
|
+
destroy(): void;
|
|
449
|
+
}
|
|
450
|
+
/** Global default agent */
|
|
451
|
+
export declare const globalAgent: Agent;
|
|
452
|
+
declare const _default: {
|
|
453
|
+
createServer: typeof createServer;
|
|
454
|
+
Server: typeof Server;
|
|
455
|
+
IncomingMessage: typeof IncomingMessage;
|
|
456
|
+
ServerResponse: typeof ServerResponse;
|
|
457
|
+
ClientRequest: typeof ClientRequest;
|
|
458
|
+
request: typeof request;
|
|
459
|
+
get: typeof get;
|
|
460
|
+
METHODS: string[];
|
|
461
|
+
STATUS_CODES: {
|
|
462
|
+
[code: number]: string;
|
|
463
|
+
};
|
|
464
|
+
substrateFetch: typeof substrateFetch;
|
|
465
|
+
isListening: typeof isListening;
|
|
466
|
+
getListeningPorts: typeof getListeningPorts;
|
|
467
|
+
Agent: typeof Agent;
|
|
468
|
+
globalAgent: Agent;
|
|
469
|
+
};
|
|
470
|
+
export default _default;
|
|
471
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/node/http.ts"],"names":[],"mappings":"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"}
|