使用 nock 运行模拟请求时如何忽略标头?

mol*_*tar 7 node.js nock

我需要使用nock模块模拟请求,该模块由添加额外标头 ( x-md5-checksum)的模块发出。由于这些标头,请求不匹配。

如何强制 nock 忽略此标头并匹配请求?

谢谢。

Mar*_*nde 5

Aaccording the docs,如果reqHeaders未指定,它将跳过它们。

如果没有为 mocking 指定请求头,那么 Nock 将自动跳过请求头的匹配

如果您正在验证其他标头,并且如果x-md5-checksum存在,但您不知道它的值,则可以使用 afunction或 aregex来验证任何值,或者只是一个有效的md5

nock('http://www.example-com', {
   reqHeaders: {
     'x-md5-checksum': /[a-fA-F0-9]{32}/
     // or
     'x-md5-checksum': value => true // I don't care about the value
   }
})
// or use .matchHeader
.matchHeader('x-md5-checksum', value => true)
.get('/')
.reply(200)
Run Code Online (Sandbox Code Playgroud)