Skip to content

Commit 3a526fe

Browse files
authored
Fixed default boolean values being overwritten in per-path configs (#186)
1 parent fda78aa commit 3a526fe

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

DependencyInjection/Configuration.php

+18-9
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,17 @@ public function getConfigTreeBuilder(): TreeBuilder
4040
->children()
4141
->arrayNode('defaults')
4242
->addDefaultsIfNotSet()
43-
->append($this->getAllowCredentials())
43+
->append($this->getAllowCredentials(true))
4444
->append($this->getAllowOrigin())
4545
->append($this->getAllowHeaders())
4646
->append($this->getAllowMethods())
4747
->append($this->getAllowPrivateNetwork())
4848
->append($this->getExposeHeaders())
4949
->append($this->getMaxAge())
5050
->append($this->getHosts())
51-
->append($this->getOriginRegex())
51+
->append($this->getOriginRegex(true))
5252
->append($this->getForcedAllowOriginValue())
53-
->append($this->getSkipSameAsOrigin())
53+
->append($this->getSkipSameAsOrigin(true))
5454
->end()
5555

5656
->arrayNode('paths')
@@ -75,18 +75,24 @@ public function getConfigTreeBuilder(): TreeBuilder
7575
return $treeBuilder;
7676
}
7777

78-
private function getSkipSameAsOrigin(): BooleanNodeDefinition
78+
private function getSkipSameAsOrigin(bool $withDefaultValue = false): BooleanNodeDefinition
7979
{
8080
$node = new BooleanNodeDefinition('skip_same_as_origin');
81-
$node->defaultTrue();
81+
82+
if ($withDefaultValue) {
83+
$node->defaultTrue();
84+
}
8285

8386
return $node;
8487
}
8588

86-
private function getAllowCredentials(): BooleanNodeDefinition
89+
private function getAllowCredentials(bool $withDefaultValue = false): BooleanNodeDefinition
8790
{
8891
$node = new BooleanNodeDefinition('allow_credentials');
89-
$node->defaultFalse();
92+
93+
if ($withDefaultValue) {
94+
$node->defaultFalse();
95+
}
9096

9197
return $node;
9298
}
@@ -192,10 +198,13 @@ private function getHosts(): ArrayNodeDefinition
192198
return $node;
193199
}
194200

195-
private function getOriginRegex(): BooleanNodeDefinition
201+
private function getOriginRegex(bool $withDefaultValue = false): BooleanNodeDefinition
196202
{
197203
$node = new BooleanNodeDefinition('origin_regex');
198-
$node->defaultFalse();
204+
205+
if ($withDefaultValue) {
206+
$node->defaultFalse();
207+
}
199208

200209
return $node;
201210
}

0 commit comments

Comments
 (0)