diff --git a/src/ServerRequestFactory.php b/src/ServerRequestFactory.php index 7b68c859..3040d4d6 100644 --- a/src/ServerRequestFactory.php +++ b/src/ServerRequestFactory.php @@ -198,21 +198,18 @@ public static function marshalHeaders(array $server) { $headers = []; foreach ($server as $key => $value) { - if ($value && strpos($key, 'HTTP_') === 0) { - $name = strtr(substr($key, 5), '_', ' '); - $name = strtr(ucwords(strtolower($name)), ' ', '-'); - $name = strtolower($name); - - $headers[$name] = $value; - continue; - } - - if ($value && strpos($key, 'CONTENT_') === 0) { - $name = substr($key, 8); // Content- - $name = 'Content-' . (($name == 'MD5') ? $name : ucfirst(strtolower($name))); - $name = strtolower($name); - $headers[$name] = $value; - continue; + if ($value) { + if (strpos($key, 'HTTP_') === 0) { + $name = substr($key, 5); + $name = strtr($name, '_', '-'); + $name = strtolower($name); + $headers[$name] = $value; + } elseif (strpos($key, 'CONTENT_') === 0) { + $name = $key; + $name = strtr($name, '_', '-'); + $name = strtolower($name); + $headers[$name] = $value; + } } }