Skip to content

Commit 1cc2742

Browse files
authored
Merge pull request #23 from bookboon/hotfix/do-no-override-headers
fix: api bundle will no longer overwrite headers that have already been set
2 parents 3b01aef + 582f073 commit 1cc2742

1 file changed

Lines changed: 14 additions & 12 deletions

File tree

Helper/GuzzleDecorator.php

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,26 @@ class GuzzleDecorator
1212
public static function decorate(HandlerStack $stack, ConfigurationHolder $config): HandlerStack
1313
{
1414
$stack->push(Middleware::mapRequest(function (RequestInterface $request) use ($config) {
15-
$requestOut = $request
16-
->withHeader(Headers::HEADER_LANGUAGE, self::createAcceptLanguageString($config->getLanguages()));
15+
if (!$request->hasHeader(Headers::HEADER_LANGUAGE)) {
16+
$request = $request
17+
->withHeader(Headers::HEADER_LANGUAGE, self::createAcceptLanguageString($config->getLanguages()));
18+
}
1719

18-
if (null !== $branding = $config->getBranding()) {
19-
$requestOut = $requestOut->withHeader(Headers::HEADER_BRANDING, $branding);
20+
if (!$request->hasHeader(Headers::HEADER_BRANDING) && null !== $branding = $config->getBranding()) {
21+
$request = $request->withHeader(Headers::HEADER_BRANDING, $branding);
2022
}
21-
if (null !== $rotation = $config->getRotation()) {
22-
$requestOut = $requestOut->withHeader(Headers::HEADER_ROTATION, $rotation);
23+
if (!$request->hasHeader(Headers::HEADER_ROTATION) && null !== $rotation = $config->getRotation()) {
24+
$request = $request->withHeader(Headers::HEADER_ROTATION, $rotation);
2325
}
24-
if (null !== $currency = $config->getCurrency()) {
25-
$requestOut = $requestOut->withHeader(Headers::HEADER_CURRENCY, $currency);
26+
if (!$request->hasHeader(Headers::HEADER_CURRENCY) && null !== $currency = $config->getCurrency()) {
27+
$request = $request->withHeader(Headers::HEADER_CURRENCY, $currency);
2628
}
27-
if (null !== $premiumLevel = $config->getPremiumLevel()) {
28-
$requestOut = $requestOut->withHeader(Headers::HEADER_PREMIUM, $premiumLevel);
29+
if (!$request->hasHeader(Headers::HEADER_PREMIUM) && null !== $premiumLevel = $config->getPremiumLevel()) {
30+
$request = $request->withHeader(Headers::HEADER_PREMIUM, $premiumLevel);
2931
}
3032

31-
return $requestOut;
32-
}));
33+
return $request;
34+
}), 'bookboon-api');
3335

3436
return $stack;
3537
}

0 commit comments

Comments
 (0)