createMockServer
KIT · function · Runtime value
Create a self-contained mock HTTP server with explicit listen/close control.
No UI or static assets are served: only the model routes answer, everything else is a 404.
Import
ts
import { createMockServer } from '@jangts/agent-core/mock/node';js
import { createMockServer } from '@jangts/agent-core/mock/node';Other public entry points:@jangts/agent-core/mock/node.
Definition
Call
ts
createMockServer(options: ServerOptions): { listen({ host, port }?: { host?: string; port?: number; }): Promise<{ host: any; port: any; url: string; }>; close(): Promise<void>; }Create a self-contained mock HTTP server with explicit listen/close control.
No UI or static assets are served: only the model routes answer, everything else is a 404.
| Parameter | Type | Passing | Description |
|---|---|---|---|
options | ServerOptions | Required | — |
Fields of options
| Field | Type | Required | Description |
|---|---|---|---|
closeTimeoutMs | number | undefined | Optional | Grace period before active requests are aborted on close, in milliseconds; default 1000. |
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: { listen({ host, port }?: { host?: string; port?: number; }): Promise<{ host: any; port: any; url: string; }>; close(): Promise<void>; }.
Return value structure
| Field | Type | Required | Description |
|---|---|---|---|
listen | ({ host, port }?: { host?: string; port?: number; }) => Promise<{ host: any; port: any; url: string; }> | Required | Start listening and report the bound address. |
close | () => Promise<void> | Required | Stop accepting connections and cancel whatever is still running. Concurrent calls share the same shutdown promise. Requests get closeTimeoutMs to finish before active controllers are aborted and remaining connections are closed. |
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。