Skip to content

Commit dd8b48a

Browse files
committed
Allow to configure custom http client
1 parent a420c1f commit dd8b48a

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

config/services.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
</service>
2929

3030
<service id="meilisearch.client" class="Meilisearch\Client" public="true" lazy="true">
31-
<argument /><!-- url -->
32-
<argument /><!-- api key -->
33-
<argument type="service" id="psr18.http_client" on-invalid="ignore" /><!-- http client -->
31+
<argument type="abstract">url defined in MeilisearchExtension</argument>
32+
<argument type="abstract">api key defined in MeilisearchExtension</argument>
33+
<argument type="abstract">http client defined in MeilisearchExtension</argument>
3434
<argument>null</argument><!-- request factory -->
35-
<argument /><!-- client agents -->
35+
<argument type="abstract">client agents defined in MeilisearchExtension</argument>
3636
<argument>null</argument><!-- stream factory -->
3737
</service>
3838
<service id="search.client" alias="meilisearch.client" public="true">

src/DependencyInjection/Configuration.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ public function getConfigTreeBuilder(): TreeBuilder
3535
->scalarNode('serializer')
3636
->defaultValue('serializer')
3737
->end()
38+
->scalarNode('http_client')
39+
->defaultValue('psr18.http_client')
40+
->end()
3841
->arrayNode('indices')
3942
->arrayPrototype()
4043
->children()

src/DependencyInjection/MeilisearchExtension.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Meilisearch\Bundle\Services\UnixTimestampNormalizer;
99
use Symfony\Component\Config\FileLocator;
1010
use Symfony\Component\DependencyInjection\ContainerBuilder;
11+
use Symfony\Component\DependencyInjection\ContainerInterface;
1112
use Symfony\Component\DependencyInjection\Extension\Extension;
1213
use Symfony\Component\DependencyInjection\Loader;
1314
use Symfony\Component\DependencyInjection\Reference;
@@ -50,6 +51,7 @@ public function load(array $configs, ContainerBuilder $container): void
5051
$container->findDefinition('meilisearch.client')
5152
->replaceArgument(0, $config['url'])
5253
->replaceArgument(1, $config['api_key'])
54+
->replaceArgument(2, new Reference($config['http_client'], ContainerInterface::IGNORE_ON_INVALID_REFERENCE))
5355
->replaceArgument(4, [MeilisearchBundle::qualifiedVersion()]);
5456

5557
$container->findDefinition('meilisearch.service')

0 commit comments

Comments
 (0)