From 4f483ecf780720182b35d873796d790563fa57f0 Mon Sep 17 00:00:00 2001 From: HECHT Axel Date: Mon, 23 Feb 2026 21:48:03 +0100 Subject: [PATCH] feat: add verify_host & verify_peer HttpClient options --- src/Client/GraphqlClient.php | 3 +++ src/DependencyInjection/Configuration.php | 14 ++++++++++++++ src/DependencyInjection/GraphqlOrmExtension.php | 5 +++++ src/Resources/config/services.php | 3 ++- 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/Client/GraphqlClient.php b/src/Client/GraphqlClient.php index 96ca0e1..ee33095 100644 --- a/src/Client/GraphqlClient.php +++ b/src/Client/GraphqlClient.php @@ -11,11 +11,13 @@ { /** * @param array $headers + * @param array $httpClientOptions */ public function __construct( private HttpClientInterface $httpClient, private string $endpoint, private array $headers = [], + private array $httpClientOptions = [], ) { } @@ -35,6 +37,7 @@ public function query(string $query, GraphqlExecutionContext $context, array $va 'query' => $query, 'variables' => $variables, ], + ...$this->httpClientOptions, ] ); diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index f4a6ca9..a35ad3b 100644 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -21,6 +21,20 @@ public function getConfigTreeBuilder(): TreeBuilder ->cannotBeEmpty() ->end() + ->arrayNode('http_client_options') + ->addDefaultsIfNotSet() + ->children() + ->booleanNode('verify_host') + ->defaultValue(true) + ->end() + ->end() + ->children() + ->booleanNode('verify_peer') + ->defaultValue(true) + ->end() + ->end() + ->end() + ->scalarNode('dialect') ->defaultValue(DefaultDialect::class) ->end() diff --git a/src/DependencyInjection/GraphqlOrmExtension.php b/src/DependencyInjection/GraphqlOrmExtension.php index 56ec761..ab2668a 100644 --- a/src/DependencyInjection/GraphqlOrmExtension.php +++ b/src/DependencyInjection/GraphqlOrmExtension.php @@ -32,6 +32,11 @@ public function load(array $configs, ContainerBuilder $container): void $config['endpoint'] ); + $container->setParameter( + 'graphql_orm.http_client_options', + $config['http_client_options'] + ); + $container->setParameter( 'graphql_orm.dialect', $config['dialect'] diff --git a/src/Resources/config/services.php b/src/Resources/config/services.php index 65325e8..adc5930 100644 --- a/src/Resources/config/services.php +++ b/src/Resources/config/services.php @@ -36,7 +36,8 @@ $services->set(GraphqlClient::class) ->arg('$endpoint', '%graphql_orm.endpoint%') - ->arg('$headers', '%graphql_orm.headers%'); + ->arg('$headers', '%graphql_orm.headers%') + ->arg('$httpClientOptions', '%graphql_orm.http_client_options%'); $services->alias(GraphqlClientInterface::class, GraphqlClient::class);