Skip to content
中文

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.

ParameterTypePassingDescription
optionsServerOptionsRequired—
Fields of options
FieldTypeRequiredDescription
closeTimeoutMsnumber | undefinedOptionalGrace period before active requests are aborted on close, in milliseconds; default 1000.
mockMockGPTRequiredInstance whose fetch answers every accepted request.
maxBodyBytesnumber | undefinedOptionalMaximum request body in bytes; default 1 MiB.
requestTimeoutMsnumber | undefinedOptionalDeadline for one request including streaming, in milliseconds; default 30 000.
allowedOriginsreadonly string[] | undefinedOptionalExact origins allowed to call cross-origin; same-origin requests always pass.
allowedHostsreadonly string[] | undefinedOptionalExtra 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
FieldTypeRequiredDescription
listen({ host, port }?: { host?: string; port?: number; }) => Promise<{ host: any; port: any; url: string; }>RequiredStart listening and report the bound address.
close() => Promise<void>RequiredStop 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 ​

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。

API reference, usage examples and developer guides.