createMockHandler
KIT · function · Runtime value
Create a bare Node request listener backed by the mock.
Import
ts
import { createMockHandler } from '@jangts/agent-core/mock/node';js
import { createMockHandler } from '@jangts/agent-core/mock/node';Other public entry points:@jangts/agent-core/mock/node.
Definition
Call
ts
createMockHandler(options: HandlerOptions): (incoming: IncomingMessage, outgoing: ServerResponse) => voidCreate a bare Node request listener backed by the mock.
| Parameter | Type | Passing | Description |
|---|---|---|---|
options | HandlerOptions | Required | — |
Fields of options
| Field | Type | Required | Description |
|---|---|---|---|
mock | MockGPT | Required | Instance whose fetch answers every accepted request. |
maxBodyBytes | number | undefined | Optional | Maximum request body in bytes; default 1 MiB. |
requestTimeoutMs | number | undefined | Optional | Deadline for one request including streaming, in milliseconds; default 30 000. |
allowedOrigins | readonly string[] | undefined | Optional | Exact origins allowed to call cross-origin; same-origin requests always pass. |
allowedHosts | readonly string[] | undefined | Optional | Extra hostnames accepted in Host; localhost, 127.0.0.1 and ::1 are always accepted. |
Returns: (incoming: IncomingMessage, outgoing: ServerResponse) => void.
Examples
- MockGPT Node: a minimal model service and HTTP mounting: Use the same MockGPT configuration as a standalone model API or mount it into an existing Node HTTP service.
Start a minimal model API and close it when done
Beginner · Node.js
ts
import { MockGPT } from '@jangts/agent-core/mock';
import { createMockServer } from '@jangts/agent-core/mock/node';
const mock = new MockGPT({ rules: [{ prompt: '你好', generator: '你好。' }] });
const server = createMockServer({ mock });
try {
const address = await server.listen({ host: '127.0.0.1', port: 0 });
console.log(address);
// 将输出地址的 /v1 作为模型客户端 base URL。
} finally { await server.close(); }js
import { MockGPT } from '@jangts/agent-core/mock';
import { createMockServer } from '@jangts/agent-core/mock/node';
const mock = new MockGPT({ rules: [{ prompt: '你好', generator: '你好。' }] });
const server = createMockServer({ mock });
try {
const address = await server.listen({ host: '127.0.0.1', port: 0 });
console.log(address);
// 将输出地址的 /v1 作为模型客户端 base URL。
}
finally {
await server.close();
}Mount into an existing Node HTTP lifecycle
Configuration · Node.js
ts
import { createServer } from 'node:http';
import { MockGPT } from '@jangts/agent-core/mock';
import { createMockHandler } from '@jangts/agent-core/mock/node';
const mock = new MockGPT({ rules: [{ generator: '演示回复' }] });
const handler = createMockHandler({ mock, requestTimeoutMs: 5000 });
const server = createServer(handler);
server.listen(4317, '127.0.0.1');
// 宿主退出时关闭 server;需要自定义域名时显式配置 allowedHosts。js
import { createServer } from 'node:http';
import { MockGPT } from '@jangts/agent-core/mock';
import { createMockHandler } from '@jangts/agent-core/mock/node';
const mock = new MockGPT({ rules: [{ generator: '演示回复' }] });
const handler = createMockHandler({ mock, requestTimeoutMs: 5000 });
const server = createServer(handler);
server.listen(4317, '127.0.0.1');
// 宿主退出时关闭 server;需要自定义域名时显式配置 allowedHosts。