diff --git a/.changeset/every-coats-decide.md b/.changeset/every-coats-decide.md new file mode 100644 index 0000000..7c4ffb5 --- /dev/null +++ b/.changeset/every-coats-decide.md @@ -0,0 +1,5 @@ +--- +'fetch-nodeshim': patch +--- + +Set `Content-Length: 0` when `response.body` is `null` for `PATCH` as well diff --git a/src/fetch.ts b/src/fetch.ts index 601e46b..2825bbd 100644 --- a/src/fetch.ts +++ b/src/fetch.ts @@ -253,7 +253,10 @@ async function _fetch( if (requestBody.contentType) requestHeaders.set('Content-Type', requestBody.contentType); - if (requestBody.body == null && (method === 'POST' || method === 'PUT')) { + if ( + requestBody.body == null && + (method === 'POST' || method === 'PUT' || method === 'PATCH') + ) { requestHeaders.set('Content-Length', '0'); } else if (requestBody.body != null && requestBody.contentLength != null) { requestHeaders.set('Content-Length', `${requestBody.contentLength}`);