@@ -235,6 +235,9 @@ private function loadProxyClient(ContainerBuilder $container, XmlFileLoader $loa
235235 if (isset ($ config ['nginx ' ])) {
236236 $ this ->loadNginx ($ container , $ loader , $ config ['nginx ' ]);
237237 }
238+ if (isset ($ config ['symfony ' ])) {
239+ $ this ->loadSymfony ($ container , $ loader , $ config ['symfony ' ]);
240+ }
238241
239242 $ container ->setAlias (
240243 $ this ->getAlias ().'.default_proxy_client ' ,
@@ -256,12 +259,8 @@ private function loadVarnish(ContainerBuilder $container, XmlFileLoader $loader,
256259 }
257260 $ container ->setParameter ($ this ->getAlias ().'.proxy_client.varnish.servers ' , $ config ['servers ' ]);
258261 $ container ->setParameter ($ this ->getAlias ().'.proxy_client.varnish.base_url ' , $ baseUrl );
259- if ($ config ['guzzle_client ' ]) {
260- $ container ->getDefinition ($ this ->getAlias ().'.proxy_client.varnish ' )
261- ->addArgument (
262- new Reference ($ config ['guzzle_client ' ])
263- )
264- ;
262+ if (!empty ($ config ['guzzle_client ' ])) {
263+ $ container ->setParameter ($ this ->getAlias ().'.proxy_client.varnish.guzzle_client ' , $ config ['guzzle_client ' ]);
265264 }
266265 }
267266
@@ -279,6 +278,28 @@ private function loadNginx(ContainerBuilder $container, XmlFileLoader $loader, a
279278 $ container ->setParameter ($ this ->getAlias ().'.proxy_client.nginx.servers ' , $ config ['servers ' ]);
280279 $ container ->setParameter ($ this ->getAlias ().'.proxy_client.nginx.base_url ' , $ baseUrl );
281280 $ container ->setParameter ($ this ->getAlias ().'.proxy_client.nginx.purge_location ' , $ config ['purge_location ' ]);
281+ if (!empty ($ config ['guzzle_client ' ])) {
282+ $ container ->setParameter ($ this ->getAlias ().'.proxy_client.nginx.guzzle_client ' , $ config ['guzzle_client ' ]);
283+ }
284+ }
285+
286+ private function loadSymfony (ContainerBuilder $ container , XmlFileLoader $ loader , array $ config )
287+ {
288+ $ loader ->load ('symfony-client.xml ' );
289+ foreach ($ config ['servers ' ] as $ url ) {
290+ $ this ->validateUrl ($ url , 'Not a valid web server address: "%s" ' );
291+ }
292+ if (!empty ($ config ['base_url ' ])) {
293+ $ baseUrl = $ this ->prefixSchema ($ config ['base_url ' ], 'Not a valid base path: "%s" ' );
294+ $ this ->validateUrl ($ baseUrl , 'Not a valid base path: "%s" ' );
295+ } else {
296+ $ baseUrl = null ;
297+ }
298+ $ container ->setParameter ($ this ->getAlias ().'.proxy_client.symfony.servers ' , $ config ['servers ' ]);
299+ $ container ->setParameter ($ this ->getAlias ().'.proxy_client.symfony.base_url ' , $ baseUrl );
300+ if (!empty ($ config ['guzzle_client ' ])) {
301+ $ container ->setParameter ($ this ->getAlias ().'.proxy_client.symfony.guzzle_client ' , $ config ['guzzle_client ' ]);
302+ }
282303 }
283304
284305 private function loadTest (ContainerBuilder $ container , XmlFileLoader $ loader , array $ config )
0 commit comments