1
0

feat: 增强 expect 规则系统,支持多种 body 校验方法和操作符

- 新增 body 分组校验:contains、regex、json(JSONPath)、css(CSS选择器)、xpath
- 新增操作符系统:equals、contains、match、empty、exists、gte、lte、gt、lt
- 新增 headers 响应头校验
- 引入 cheerio、xpath、@xmldom/xmldom 依赖
- BREAKING: expect.bodyContains 迁移至 expect.body.contains
This commit is contained in:
2026-05-10 00:10:42 +08:00
parent 57d3a5cfb4
commit 599d973cbd
22 changed files with 923 additions and 80 deletions

View File

@@ -84,13 +84,7 @@ function handleApiRoute(url: URL, request: Request, store: ProbeStore, mode: Run
return jsonResponse(createApiError("API route not found", 404), { method, mode, status: 404 });
}
function handleHistory(
idStr: string,
url: URL,
method: string,
store: ProbeStore,
mode: RuntimeMode,
): Response {
function handleHistory(idStr: string, url: URL, method: string, store: ProbeStore, mode: RuntimeMode): Response {
const id = Number(idStr);
if (!Number.isInteger(id) || id <= 0) {
@@ -118,13 +112,7 @@ function handleHistory(
return jsonResponse(results, { method, mode });
}
function handleTrend(
idStr: string,
url: URL,
method: string,
store: ProbeStore,
mode: RuntimeMode,
): Response {
function handleTrend(idStr: string, url: URL, method: string, store: ProbeStore, mode: RuntimeMode): Response {
const id = Number(idStr);
if (!Number.isInteger(id) || id <= 0) {