@@ -217,13 +217,16 @@ private function loadVarnish(ContainerBuilder $container, XmlFileLoader $loader,
217
217
{
218
218
$ loader ->load ('varnish.xml ' );
219
219
foreach ($ config ['servers ' ] as $ url ) {
220
- $ this ->validateUrl ($ url , 'Not a valid varnish server address: "%s" ' );
220
+ $ this ->validateUrl ($ url , 'Not a valid Varnish server address: "%s" ' );
221
221
}
222
222
if (!empty ($ config ['base_url ' ])) {
223
- $ this ->validateUrl ($ config ['base_url ' ], 'Not a valid base path: "%s" ' );
223
+ $ baseUrl = $ this ->prefixSchema ($ config ['base_url ' ], 'Not a valid base path: "%s" ' );
224
+ $ this ->validateUrl ($ baseUrl , 'Not a valid base path: "%s" ' );
225
+ } else {
226
+ $ baseUrl = null ;
224
227
}
225
228
$ container ->setParameter ($ this ->getAlias () . '.proxy_client.varnish.servers ' , $ config ['servers ' ]);
226
- $ container ->setParameter ($ this ->getAlias () . '.proxy_client.varnish.base_url ' , $ config [ ' base_url ' ] );
229
+ $ container ->setParameter ($ this ->getAlias () . '.proxy_client.varnish.base_url ' , $ baseUrl );
227
230
if ($ config ['guzzle_client ' ]) {
228
231
$ container ->getDefinition ($ this ->getAlias () . '.proxy_client.varnish ' )
229
232
->addArgument (
@@ -237,13 +240,15 @@ private function loadNginx(ContainerBuilder $container, XmlFileLoader $loader, a
237
240
{
238
241
$ loader ->load ('nginx.xml ' );
239
242
foreach ($ config ['servers ' ] as $ url ) {
240
- $ this ->validateUrl ($ url , 'Not a valid nginx server address: "%s" ' );
243
+ $ this ->validateUrl ($ url , 'Not a valid Nginx server address: "%s" ' );
241
244
}
242
245
if (!empty ($ config ['base_url ' ])) {
243
- $ this ->validateUrl ($ config ['base_url ' ], 'Not a valid base path: "%s" ' );
246
+ $ baseUrl = $ this ->prefixSchema ($ config ['base_url ' ], 'Not a valid base path: "%s" ' );
247
+ } else {
248
+ $ baseUrl = null ;
244
249
}
245
250
$ container ->setParameter ($ this ->getAlias () . '.proxy_client.nginx.servers ' , $ config ['servers ' ]);
246
- $ container ->setParameter ($ this ->getAlias () . '.proxy_client.nginx.base_url ' , $ config [ ' base_url ' ] );
251
+ $ container ->setParameter ($ this ->getAlias () . '.proxy_client.nginx.base_url ' , $ baseUrl );
247
252
$ container ->setParameter ($ this ->getAlias () . '.proxy_client.nginx.purge_location ' , $ config ['purge_location ' ]);
248
253
}
249
254
@@ -341,14 +346,22 @@ private function loadInvalidatorRules(ContainerBuilder $container, array $config
341
346
}
342
347
343
348
private function validateUrl ($ url , $ msg )
349
+ {
350
+ $ prefixed = $ this ->prefixSchema ($ url );
351
+
352
+ if (!$ parts = parse_url ($ prefixed )) {
353
+ throw new InvalidConfigurationException (sprintf ($ msg , $ url ));
354
+ }
355
+ }
356
+
357
+
358
+ private function prefixSchema ($ url )
344
359
{
345
360
if (false === strpos ($ url , ':// ' )) {
346
361
$ url = sprintf ('%s://%s ' , 'http ' , $ url );
347
362
}
348
363
349
- if (!$ parts = parse_url ($ url )) {
350
- throw new InvalidConfigurationException (sprintf ($ msg , $ url ));
351
- }
364
+ return $ url ;
352
365
}
353
366
354
367
private function getDefault (array $ config )
0 commit comments