Skip to content

Commit

Permalink
Merge pull request #5 from brzuchal/fix-default-headers-merge
Browse files Browse the repository at this point in the history
Fix default headers merging
  • Loading branch information
brzuchal authored Nov 13, 2023
2 parents 14aeeb5 + 0da9193 commit 6dc7dd3
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 3 deletions.
7 changes: 6 additions & 1 deletion src/DefaultRestClientBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
use Symfony\Component\Serializer\SerializerInterface;
use Symfony\Contracts\HttpClient\HttpClientInterface;

use function is_string;
use function strtolower;

/**
Expand Down Expand Up @@ -60,7 +61,11 @@ public function defaultHeaders(array $headers): static
foreach ($headers as $name => $values) {
$name = strtolower($name);
$this->defaultHeaders[$name] ??= [];
$this->defaultHeaders[$name] += $values;
if (is_string($values)) {
$this->defaultHeaders[$name][] = $values;
} else {
$this->defaultHeaders[$name][] += $values;
}
}

return $this;
Expand Down
8 changes: 6 additions & 2 deletions src/RestClientBundle.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,13 @@ public function configure(DefinitionConfigurator $definition): void
->scalarNode('base_uri')
->info('The URI to resolve relative URLs, following rules in RFC 3985, section 2.')
->end()
->variableNode('default_headers')
->arrayNode('default_headers')
->info('Associative array of default headers: header => value(s).')
->defaultNull()
->defaultValue([])
->requiresAtLeastOneElement()
->useAttributeAsKey('name')
->normalizeKeys(false)
->variablePrototype()->end()
->end()
->end()
->end();
Expand Down

0 comments on commit 6dc7dd3

Please sign in to comment.