createMockServer
KIT · function · 运行时值
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.
导入
ts
import { createMockServer } from '@jangts/agent-core/mock/node';js
import { createMockServer } from '@jangts/agent-core/mock/node';其他公开入口:@jangts/agent-core/mock/node。
定义
调用
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.
| 参数 | 类型 | 传递 | 说明 |
|---|---|---|---|
options | ServerOptions | 必需 | — |
options 的字段
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
closeTimeoutMs | number | undefined | 可省略 | Grace period before active requests are aborted on close, in milliseconds; default 1000. |
mock | MockGPT | 必需 | Instance whose fetch answers every accepted request. |
maxBodyBytes | number | undefined | 可省略 | Maximum request body in bytes; default 1 MiB. |
requestTimeoutMs | number | undefined | 可省略 | Deadline for one request including streaming, in milliseconds; default 30 000. |
allowedOrigins | readonly string[] | undefined | 可省略 | Exact origins allowed to call cross-origin; same-origin requests always pass. |
allowedHosts | readonly string[] | undefined | 可省略 | Extra hostnames accepted in Host; localhost, 127.0.0.1 and ::1 are always accepted. |
返回: { listen({ host, port }?: { host?: string; port?: number; }): Promise<{ host: any; port: any; url: string; }>; close(): Promise<void>; }。
返回值结构
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
listen | ({ host, port }?: { host?: string; port?: number; }) => Promise<{ host: any; port: any; url: string; }> | 必需 | Start listening and report the bound address. |
close | () => Promise<void> | 必需 | 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. |
使用示例
- MockGPT Node:最小模型服务与 HTTP 挂载:同一 MockGPT 配置作为独立模型 API,或挂入现有 Node HTTP 服务。
启动最小模型 API,用完关闭
入门 · 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();
}挂入已有 Node HTTP 生命周期
配置 · 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。