Skip to content

Commit 1e26b0a

Browse files
committed
fix tests compatibility with http client 7.x
1 parent 8318b4c commit 1e26b0a

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

tests/TestLogger.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@ class TestLogger extends AbstractLogger
1414

1515
public function log($level, string|\Stringable $message, array $context = []): void
1616
{
17+
// compatibility with symfony http client 7.0+
18+
if (str_starts_with($message, 'Response: ')) {
19+
if (str_ends_with($message, ' {total_time} seconds')) {
20+
$message = substr($message, 0, -strlen(' {total_time} seconds'));
21+
}
22+
23+
$message = $this->interpolateMessage($message, $context);
24+
}
25+
1726
$log = [
1827
'level' => $level,
1928
'message' => $message,
@@ -120,4 +129,13 @@ private function getContentFromStream($stream): string|false
120129
return stream_get_contents($stream);
121130
}
122131

132+
private function interpolateMessage(string|\Stringable $message, array $context): string
133+
{
134+
$replacements = [];
135+
foreach ($context as $key => $value) {
136+
$replacements["{" . $key . "}"] = $value;
137+
}
138+
return strtr($message, $replacements);
139+
}
140+
123141
}

0 commit comments

Comments
 (0)