mirror of
https://github.com/retailcrm/NelmioApiDocBundle.git
synced 2025-02-09 02:59:27 +03:00
Merge pull request #86 from vslinko/allow-to-disable-inline-doc
Make request listener configurable
This commit is contained in:
commit
28f059fff0
@ -23,6 +23,17 @@ class Configuration implements ConfigurationInterface
|
|||||||
->root('nelmio_api_doc')
|
->root('nelmio_api_doc')
|
||||||
->children()
|
->children()
|
||||||
->scalarNode('name')->defaultValue('API documentation')->end()
|
->scalarNode('name')->defaultValue('API documentation')->end()
|
||||||
|
->arrayNode('request_listener')
|
||||||
|
->beforeNormalization()
|
||||||
|
->ifTrue(function ($a) { return is_bool($a); })
|
||||||
|
->then(function ($a) { return array('enabled' => $a); })
|
||||||
|
->end()
|
||||||
|
->addDefaultsIfNotSet()
|
||||||
|
->children()
|
||||||
|
->booleanNode('enabled')->defaultTrue()->end()
|
||||||
|
->scalarNode('parameter')->defaultValue('_doc')->end()
|
||||||
|
->end()
|
||||||
|
->end()
|
||||||
->arrayNode('sandbox')
|
->arrayNode('sandbox')
|
||||||
->addDefaultsIfNotSet()
|
->addDefaultsIfNotSet()
|
||||||
->children()
|
->children()
|
||||||
|
@ -36,9 +36,13 @@ class NelmioApiDocExtension extends Extension
|
|||||||
|
|
||||||
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
|
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
|
||||||
$loader->load('formatters.xml');
|
$loader->load('formatters.xml');
|
||||||
$loader->load('request_listener.xml');
|
|
||||||
$loader->load('services.xml');
|
$loader->load('services.xml');
|
||||||
|
|
||||||
|
if ($config['request_listener']['enabled']) {
|
||||||
|
$container->setParameter('nelmio_api_doc.request_listener.parameter', $config['request_listener']['parameter']);
|
||||||
|
$loader->load('request_listener.xml');
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($config['sandbox']['authentication'])) {
|
if (isset($config['sandbox']['authentication'])) {
|
||||||
$container->setParameter('nelmio_api_doc.sandbox.authentication', $config['sandbox']['authentication']);
|
$container->setParameter('nelmio_api_doc.sandbox.authentication', $config['sandbox']['authentication']);
|
||||||
}
|
}
|
||||||
|
@ -30,10 +30,16 @@ class RequestListener
|
|||||||
*/
|
*/
|
||||||
protected $formatter;
|
protected $formatter;
|
||||||
|
|
||||||
public function __construct(ApiDocExtractor $extractor, FormatterInterface $formatter)
|
/**
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $parameter;
|
||||||
|
|
||||||
|
public function __construct(ApiDocExtractor $extractor, FormatterInterface $formatter, $parameter)
|
||||||
{
|
{
|
||||||
$this->extractor = $extractor;
|
$this->extractor = $extractor;
|
||||||
$this->formatter = $formatter;
|
$this->formatter = $formatter;
|
||||||
|
$this->parameter = $parameter;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -47,7 +53,7 @@ class RequestListener
|
|||||||
|
|
||||||
$request = $event->getRequest();
|
$request = $event->getRequest();
|
||||||
|
|
||||||
if (!$request->query->get('_doc')) {
|
if (!$request->query->has($this->parameter)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
<service id="nelmio_api_doc.event_listener.request" class="%nelmio_api_doc.event_listener.request.class%">
|
<service id="nelmio_api_doc.event_listener.request" class="%nelmio_api_doc.event_listener.request.class%">
|
||||||
<argument type="service" id="nelmio_api_doc.extractor.api_doc_extractor" />
|
<argument type="service" id="nelmio_api_doc.extractor.api_doc_extractor" />
|
||||||
<argument type="service" id="nelmio_api_doc.formatter.html_formatter" />
|
<argument type="service" id="nelmio_api_doc.formatter.html_formatter" />
|
||||||
|
<argument>%nelmio_api_doc.request_listener.parameter%</argument>
|
||||||
<tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" />
|
<tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" />
|
||||||
</service>
|
</service>
|
||||||
</services>
|
</services>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user