Skip to content

Commit 8012be0

Browse files
Allow Explicit content length on HEAD requests
1 parent e27cfcd commit 8012be0

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/Io/StreamingServer.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,8 @@ public function handleResponse(ConnectionInterface $connection, ServerRequestInt
265265
if (($method === 'CONNECT' && $code >= 200 && $code < 300) || ($code >= 100 && $code < 200) || $code === Response::STATUS_NO_CONTENT) {
266266
// 2xx response to CONNECT and 1xx and 204 MUST NOT include Content-Length or Transfer-Encoding header
267267
$response = $response->withoutHeader('Content-Length');
268+
} elseif ($request->getMethod() === 'HEAD' && $response->hasHeader('Content-Length')) {
269+
// HEAD Request: preserve explicit Content-Length
268270
} elseif ($code === Response::STATUS_NOT_MODIFIED && ($response->hasHeader('Content-Length') || $body->getSize() === 0)) {
269271
// 304 Not Modified: preserve explicit Content-Length and preserve missing header if body is empty
270272
} elseif ($body->getSize() !== null) {

0 commit comments

Comments
 (0)