← All changes
|
vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php
+7
-4
27.9
→
trunk
View file →
| @@ -66,10 +66,9 @@ | ||
| 66 | 66 | */ |
| 67 | 67 | public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, ?\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, ?\Throwable $error = null) : string |
| 68 | 68 | { |
| 69 | 69 | $cache = []; |
| 70 | - /** @var string */ | |
| 71 | - return \preg_replace_callback('/{\\s*([A-Za-z_\\-\\.0-9]+)\\s*}/', function (array $matches) use($request, $response, $error, &$cache) { | |
| 70 | + $result = \preg_replace_callback('/{\\s*([A-Za-z_\\-\\.0-9]+)\\s*}/', function (array $matches) use($request, $response, $error, &$cache) { | |
| 72 | 71 | if (isset($cache[$matches[1]])) { |
| 73 | 72 | return $cache[$matches[1]]; |
| 74 | 73 | } |
| 75 | 74 | $result = ''; |
| @@ -80,9 +79,9 @@ | ||
| 80 | 79 | case 'response': |
| 81 | 80 | $result = $response ? \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::toString($response) : ''; |
| 82 | 81 | break; |
| 83 | 82 | case 'req_headers': |
| 84 | - $result = \trim($request->getMethod() . ' ' . $request->getRequestTarget()) . ' HTTP/' . $request->getProtocolVersion() . "\r\n" . $this->headers($request); | |
| 83 | + $result = \trim($request->getMethod() . ' ' . $request->getRequestTarget(), " \n\r\t\x00\v") . ' HTTP/' . $request->getProtocolVersion() . "\r\n" . $this->headers($request); | |
| 85 | 84 | break; |
| 86 | 85 | case 'res_headers': |
| 87 | 86 | $result = $response ? \sprintf('HTTP/%s %d %s', $response->getProtocolVersion(), $response->getStatusCode(), $response->getReasonPhrase()) . "\r\n" . $this->headers($response) : 'NULL'; |
| 88 | 87 | break; |
| @@ -152,8 +151,12 @@ | ||
| 152 | 151 | } |
| 153 | 152 | $cache[$matches[1]] = $result; |
| 154 | 153 | return $result; |
| 155 | 154 | }, $this->template); |
| 155 | + if ($result === null) { | |
| 156 | + throw new \RuntimeException('Unable to format message: ' . \preg_last_error_msg()); | |
| 157 | + } | |
| 158 | + return $result; | |
| 156 | 159 | } |
| 157 | 160 | /** |
| 158 | 161 | * Get headers from message as string |
| 159 | 162 | */ |
| @@ -162,7 +165,7 @@ | ||
| 162 | 165 | $result = ''; |
| 163 | 166 | foreach ($message->getHeaders() as $name => $values) { |
| 164 | 167 | $result .= $name . ': ' . \implode(', ', $values) . "\r\n"; |
| 165 | 168 | } |
| 166 | - return \trim($result); | |
| 169 | + return \trim($result, " \n\r\t\x00\v"); | |
| 167 | 170 | } |
| 168 | 171 | } |