diff --git a/lib/Misc/HTTP.php b/lib/Misc/HTTP.php index 78a817b7..15bfce9b 100644 --- a/lib/Misc/HTTP.php +++ b/lib/Misc/HTTP.php @@ -12,7 +12,7 @@ class HTTP { public static function matchType(MessageInterface $msg, string ...$type): bool { $header = $msg->getHeaderLine("Content-Type") ?? ""; foreach ($type as $t) { - $pattern = "/^".preg_quote(trim($t), "/")."($|;|,)/i"; + $pattern = "/^".preg_quote(trim($t), "/")."\s*($|;|,)/i"; if (preg_match($pattern, $header)) { return true; } diff --git a/tests/cases/Misc/TestHTTP.php b/tests/cases/Misc/TestHTTP.php index 5d6f4656..70d1316b 100644 --- a/tests/cases/Misc/TestHTTP.php +++ b/tests/cases/Misc/TestHTTP.php @@ -27,6 +27,7 @@ class TestHTTP extends \JKingWeb\Arsse\Test\AbstractTest { ["text/json; charset=utf-8", ["application/json", "text/json"], true], ["", ["application/json"], false], ["", ["application/json", ""], true], + ["application/json ;", ["application/json"], true], ]; } }