public function __construct(array $schemaParsers = null, array $securitySettingsParsers = null, array $fileLoaders = null, ParseConfiguration $config = null)
{
// ---
// parse settings
$this->configuration = $config ?: new ParseConfiguration();
// ---
// add schema parsers
// if null then use a default list
if ($schemaParsers === null) {
$schemaParsers = [new JsonSchemaParser(), new XmlSchemaParser()];
}
foreach ($schemaParsers as $schemaParser) {
$this->addSchemaParser($schemaParser);
}
// ---
// add security setting parsers
// if null then use a default list
if ($securitySettingsParsers === null) {
$securitySettingsParsers = [new OAuth1SecuritySettingsParser(), new OAuth2SecuritySettingsParser(), new DefaultSecuritySettingsParser()];
}
foreach ($securitySettingsParsers as $securitySettingParser) {
$this->addSecuritySettingParser($securitySettingParser);
}
// ---
// add file loaders
// if null then use a default list
if ($fileLoaders === null) {
$fileLoaders = [new JsonSchemaFileLoader(), new DefaultFileLoader()];
}
foreach ($fileLoaders as $fileLoader) {
$this->addFileLoader($fileLoader);
}
}