mirror of
https://github.com/danbulant/discord.js
synced 2026-05-27 22:11:53 +00:00
fix response parsing (#2614)
* fix response parsing * rfc: better parseResponse function
This commit is contained in:
parent
99a9a813d7
commit
594363a05e
1 changed files with 9 additions and 3 deletions
|
|
@ -1,5 +1,11 @@
|
|||
const DiscordAPIError = require('../DiscordAPIError');
|
||||
const { Events: { RATE_LIMIT } } = require('../../util/Constants');
|
||||
const { Events: { RATE_LIMIT }, browser } = require('../../util/Constants');
|
||||
|
||||
function parseResponse(res) {
|
||||
if (res.headers.get('content-type').startsWith('application/json')) return res.json();
|
||||
if (browser) return res.blob();
|
||||
return res.buffer();
|
||||
}
|
||||
|
||||
class RequestHandler {
|
||||
constructor(manager, handler) {
|
||||
|
|
@ -77,7 +83,7 @@ class RequestHandler {
|
|||
}
|
||||
|
||||
if (res.ok) {
|
||||
res.json().then(item.resolve, item.reject);
|
||||
parseResponse(res).then(item.resolve, item.reject);
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
|
|
@ -95,7 +101,7 @@ class RequestHandler {
|
|||
finish(1e3 + this.client.options.restTimeOffset);
|
||||
}
|
||||
} else {
|
||||
res.json().then(data => {
|
||||
parseResponse(res).then(data => {
|
||||
item.reject(res.status >= 400 && res.status < 500 ?
|
||||
new DiscordAPIError(item.path, data, item.method) : res);
|
||||
}, item.reject);
|
||||
|
|
|
|||
Loading…
Reference in a new issue