summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Adrian Dimitrov <dimitrov.adrian@gmail.com> 2022-08-02 19:19:43 +0300
committerGravatar GitHub <noreply@github.com> 2022-08-02 11:19:43 -0500
commit9cc3a11c44eaf042bb3a982c812e1d8e839faf8f (patch)
tree298d82d6555534c25a6f1cc991f1f753d106d772
parent7088e86c64328b530c7b36540f72efd3a7fd9022 (diff)
downloadastro-9cc3a11c44eaf042bb3a982c812e1d8e839faf8f.tar.gz
astro-9cc3a11c44eaf042bb3a982c812e1d8e839faf8f.tar.zst
astro-9cc3a11c44eaf042bb3a982c812e1d8e839faf8f.zip
Do not send body with HEAD and GET on node integration (#4105)
* Do not send body with HEAD and GET on node integration * Create seven-suits-sit.md Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
-rw-r--r--.changeset/seven-suits-sit.md5
-rw-r--r--packages/astro/src/core/app/node.ts5
2 files changed, 8 insertions, 2 deletions
diff --git a/.changeset/seven-suits-sit.md b/.changeset/seven-suits-sit.md
new file mode 100644
index 000000000..ca5570843
--- /dev/null
+++ b/.changeset/seven-suits-sit.md
@@ -0,0 +1,5 @@
+---
+"astro": patch
+---
+
+Do not send `body` with `HEAD` or `GET` requests when using `server` output.
diff --git a/packages/astro/src/core/app/node.ts b/packages/astro/src/core/app/node.ts
index c7e6f1eca..17d800b1d 100644
--- a/packages/astro/src/core/app/node.ts
+++ b/packages/astro/src/core/app/node.ts
@@ -11,10 +11,11 @@ function createRequestFromNodeRequest(req: IncomingMessage, body?: Uint8Array):
let url = `http://${req.headers.host}${req.url}`;
let rawHeaders = req.headers as Record<string, any>;
const entries = Object.entries(rawHeaders);
+ const method = req.method || 'GET';
let request = new Request(url, {
- method: req.method || 'GET',
+ method,
headers: new Headers(entries),
- body,
+ body: ['HEAD', 'GET'].includes(method) ? null : body,
});
if (req.socket?.remoteAddress) {
Reflect.set(request, clientAddressSymbol, req.socket.remoteAddress);