const logger = RequestLogger({url : /.*/, method : 'PUT'},{
logResponseHeaders: true,
logResponseBody: true,
logRequestHeaders: true,
logRequestBody: true,
stringifyRequestBody: true,
stringifyResponseBody: true
});
上面的代码很好。但是,如果我们拥有多个方法值,例如PUT
,POST
,PATCH
等,该怎么办?
我尝试了
const logger = RequestLogger({url : /.*/, method : {'PUT','POST'}}
但是似乎我们不能使用。我们还有其他选择吗?
答案 0 :(得分:2)
您可以使用谓词通过method
属性的多个值来过滤请求:
const logger = RequestLogger(request => {
return request.url === 'http://example.com' &&
(request.method === 'post' || request.method === 'put')
});
请参考TestCafe文档中的以下示例:https://devexpress.github.io/testcafe/documentation/test-api/intercepting-http-requests/select-requests-to-be-handled-by-the-hook.html#filter-with-a-predicate