fix: bug where body wasn't properly sent on ap-style content-types

This commit is contained in:
Julian Lam
2023-12-22 15:52:38 -05:00
parent 9c94547bf9
commit 4b87c30f62

View File

@@ -13,6 +13,7 @@ async function call(url, method, { body, timeout, jar, ...config } = {}) {
fetchImpl = fetchCookie(fetch, jar);
}
const jsonTest = /application\/([a-z]+\+)?json/;
const opts = {
...config,
method,
@@ -26,7 +27,7 @@ async function call(url, method, { body, timeout, jar, ...config } = {}) {
}
if (body && ['POST', 'PUT', 'PATCH', 'DEL', 'DELETE'].includes(method)) {
if (opts.headers['content-type'] && opts.headers['content-type'].startsWith('application/json')) {
if (opts.headers['content-type'] && jsonTest.test(opts.headers['content-type'])) {
opts.body = JSON.stringify(body);
} else {
opts.body = body;
@@ -37,7 +38,6 @@ async function call(url, method, { body, timeout, jar, ...config } = {}) {
const { headers } = response;
const contentType = headers.get('content-type');
const jsonTest = /application\/([a-z]+\+)?json/;
const isJSON = contentType && jsonTest.test(contentType);
let respBody = await response.text();
if (isJSON && respBody) {