From 228d796b1d6299ccd39418e85f40437292b47dd4 Mon Sep 17 00:00:00 2001 From: Paladox Date: Sun, 1 Dec 2019 17:59:17 +0000 Subject: [PATCH] Fix support for HTTP/2 in MultiHttpClient Under buster, curl uses HTTP/2 (confirmed when running eval): Buster: GET xxx HTTP/2 Stretch: GET xxx HTTP/1.1 The code presumes that it will always be HTTP/1.x. We fix this by adjusting the regex to match HTTP2. Bug: T232866 Change-Id: Ibde6036048d5939508df143ec5956abcd0718ad1 --- includes/libs/MultiHttpClient.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/libs/MultiHttpClient.php b/includes/libs/MultiHttpClient.php index dd8772c01a..7594da2916 100644 --- a/includes/libs/MultiHttpClient.php +++ b/includes/libs/MultiHttpClient.php @@ -375,7 +375,7 @@ class MultiHttpClient implements LoggerAwareInterface { } $length = strlen( $header ); $matches = []; - if ( preg_match( "/^(HTTP\/1\.[01]) (\d{3}) (.*)/", $header, $matches ) ) { + if ( preg_match( "/^(HTTP\/(?:1\.[01]|2)) (\d{3}) (.*)/", $header, $matches ) ) { $req['response']['code'] = (int)$matches[2]; $req['response']['reason'] = trim( $matches[3] ); return $length; -- 2.20.1