Запрос ниже всегда возвращает response
в виде строки. Мне нужен формат JSON. Прямо сейчас я не могу получить res.data
(возврат не определен), но я могу видеть res
в виде строки.
nock('https://api.smartsheet.com/2.0/sheets/')
.defaultReplyHeaders({
"accept-encoding":"gzip, deflate",
"accept": "application/json",
"content-type": "application/json"
})
.get('/')
.reply(200, {"data" : "test"});
- Я попытался использовать JSON.parse ({"data": "test"), он все еще возвращает String в качестве ответа.
- я тоже пробовал
const buffer = Buffer.from(JSON.stringify({data: 'test'}));
const compressed = zlib.gzipSync(buffer);
nock('https://api.smartsheet.com/2.0/sheets/')
.defaultReplyHeaders({
"accept-encoding":"gzip, deflate",
"accept": "application/json",
"content-type": "application/json"
})
.get('/', compressed)
.reply(200, () => compressed);
Но я не знаю, как отправить двоичный буфер в nock.
this.smartsheet = SmartsheetClient({
accessToken: this.config.get('smartsheet.oauth_token'),
});
const [getError, sheets] = await this.to(this.smartsheet.sheets.listSheets());
if (getError) {
throw new this.Doh('Fail to get sheets', getError);
}
return sheets.data;