ServerOptions
KIT · interface · Type contract
Options of createMockServer, adding shutdown behaviour.
Import
ts
import type { ServerOptions } from '@jangts/agent-core/mock/node';1
js
/** @typedef {import('@jangts/agent-core/mock/node').ServerOptions} ServerOptions */1
Other public entry points:@jangts/agent-core/mock/node.
Definition
ts
interface ServerOptions1
Extends or implements: HandlerOptions.
Field structure
| 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. |
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(); }1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
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();
}1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
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。1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
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。1
2
3
4
5
6
7
8
2
3
4
5
6
7
8