public static function fromConfig(array $config) { if (array_key_exists('report', $config) || array_key_exists('enforce', $config)) { $enforce = DirectiveSet::fromConfig($config, 'enforce'); $report = DirectiveSet::fromConfig($config, 'report'); } else { // legacy config $directiveSet = DirectiveSet::fromLegacyConfig($config); if (!!$config['report_only']) { $enforce = new DirectiveSet(); $report = $directiveSet; } else { $enforce = $directiveSet; $report = new DirectiveSet(); } } return new self($report, $enforce, !!$config['compat_headers'], $config['hosts']); }
/** * @dataProvider provideConfigAndSignatures */ public function testBuildHeaderValueWithInlineSignatures($expected, $config, $signatures) { $directive = DirectiveSet::fromConfig(new PolicyManager(), $config, 'enforce'); $this->assertSame($expected, $directive->buildHeaderValue(new Request(), $signatures)); }