如何将二进制缓冲区请求主体与 Nock 匹配?

How to match a binary buffer request body with Nock?

我是 Node/TypeScript 的新手,我写了一个简单的脚本来学习这门语言。 我正在使用 nock 进行测试,以使用 RequestBodyMatcher 检查我的 http post 请求。目前,它是虚拟的(见下文)。现在我想实现匹配器并实际检查请求体。

const requestBodyMatcher = (body: any) => true; // todo: check the body !!!
nock('http://api.michael.com')
  .post('/myendpoint', requestBodyMatcher)
  .reply(200);

我的请求正文是二进制缓冲区(一些压缩数据),但我的 requestBodyMatcher 函数是用 body:string 调用的,而不是我检查过的 body:Buffer。您有匹配 二进制缓冲区 请求正文的示例吗?

正如评论中所说 RequestBodyMatcher 收到一个 stringified 请求正文,所以我必须 unstrigifyBuffer.fromhex 编码:

const requestBodyMatcher = (body: any) => {
  const buf = Buffer.from(body, 'hex')
  // check "buf" and return a boolean result
};