@@ -213,14 +213,6 @@ protected function configureOptions(array $options)
213213 'log ' => [],
214214 ]);
215215
216- $ resolver ->setNormalizer ('base_url ' , function ($ options , $ value ) {
217- return sprintf (
218- '%s://%s ' ,
219- $ options ['secure ' ] ? self ::SCHEME_SECURE : self ::SCHEME_INSECURE ,
220- $ options ['host ' ]
221- );
222- });
223-
224216 $ resolver ->setRequired ([
225217 'adapter ' ,
226218 'host ' ,
@@ -231,23 +223,16 @@ protected function configureOptions(array $options)
231223 'log '
232224 ]);
233225
234- $ resolver ->setAllowedTypes ('adapter ' , ['object ' , 'null ' ]);
235- $ resolver ->setAllowedTypes ('host ' , 'string ' );
236- $ resolver ->setAllowedTypes ('secure ' , 'bool ' );
237- $ resolver ->setAllowedTypes ('token ' , 'object ' );
238- $ resolver ->setAllowedTypes ('session_token ' , ['object ' , 'null ' ]);
239- $ resolver ->setAllowedTypes ('event_dispatcher ' , 'object ' );
226+ $ resolver ->setAllowedTypes ([ 'adapter ' => ['object ' , 'null ' ] ]);
227+ $ resolver ->setAllowedTypes ([ 'host ' => 'string ' ] );
228+ $ resolver ->setAllowedTypes ([ 'secure ' => 'bool ' ] );
229+ $ resolver ->setAllowedTypes ([ 'token ' => 'object ' ] );
230+ $ resolver ->setAllowedTypes ([ 'session_token ' => ['object ' , 'null ' ] ]);
231+ $ resolver ->setAllowedTypes ([ 'event_dispatcher ' => 'object ' ] );
240232
241233 $ this ->options = $ resolver ->resolve ($ options );
242234
243- if (!$ this ->options ['adapter ' ]) {
244- $ this ->options ['adapter ' ] = new GuzzleAdapter (
245- new \GuzzleHttp \Client (['base_url ' => $ this ->options ['base_url ' ]])
246- );
247- }
248-
249- $ this ->options ['cache ' ] = $ this ->configureCacheOptions ($ options );
250- $ this ->options ['log ' ] = $ this ->configureLogOptions ($ options );
235+ $ this ->postResolve ($ options );
251236
252237 return $ this ->options ;
253238 }
@@ -274,10 +259,10 @@ protected function configureCacheOptions(array $options = [])
274259 'handler ' ,
275260 ]);
276261
277- $ resolver ->setAllowedTypes ('enabled ' , 'bool ' );
278- $ resolver ->setAllowedTypes ('handler ' , ['object ' , 'null ' ]);
279- $ resolver ->setAllowedTypes ('subscriber ' , ['object ' , 'null ' ]);
280- $ resolver ->setAllowedTypes ('path ' , ['string ' , 'null ' ]);
262+ $ resolver ->setAllowedTypes ([ 'enabled ' => [ 'bool ' ]] );
263+ $ resolver ->setAllowedTypes ([ 'handler ' => ['object ' , 'null ' ] ]);
264+ $ resolver ->setAllowedTypes ([ 'subscriber ' => ['object ' , 'null ' ] ]);
265+ $ resolver ->setAllowedTypes ([ 'path ' => ['string ' , 'null ' ] ]);
281266
282267 $ options = $ resolver ->resolve (array_key_exists ('cache ' , $ options ) ? $ options ['cache ' ] : []);
283268
@@ -314,11 +299,11 @@ protected function configureLogOptions(array $options = [])
314299 'handler ' ,
315300 ]);
316301
317- $ resolver ->setAllowedTypes ('enabled ' , 'bool ' );
318- $ resolver ->setAllowedTypes ('level ' , 'int ' );
319- $ resolver ->setAllowedTypes ('handler ' , ['object ' , 'null ' ]);
320- $ resolver ->setAllowedTypes ('path ' , ['string ' , 'null ' ]);
321- $ resolver ->setAllowedTypes ('subscriber ' , ['object ' , 'null ' ]);
302+ $ resolver ->setAllowedTypes ([ 'enabled ' => 'bool ' ] );
303+ $ resolver ->setAllowedTypes ([ 'level ' => 'int ' ] );
304+ $ resolver ->setAllowedTypes ([ 'handler ' => ['object ' , 'null ' ] ]);
305+ $ resolver ->setAllowedTypes ([ 'path ' => ['string ' , 'null ' ] ]);
306+ $ resolver ->setAllowedTypes ([ 'subscriber ' => ['object ' , 'null ' ] ]);
322307
323308 $ options = $ resolver ->resolve (array_key_exists ('log ' , $ options ) ? $ options ['log ' ] : []);
324309
@@ -331,4 +316,27 @@ protected function configureLogOptions(array $options = [])
331316
332317 return $ options ;
333318 }
319+
320+ /**
321+ * Post resolve
322+ *
323+ * @param array $options
324+ */
325+ protected function postResolve (array $ options = [])
326+ {
327+ $ this ->options ['base_url ' ] = sprintf (
328+ '%s://%s ' ,
329+ $ this ->options ['secure ' ] ? self ::SCHEME_SECURE : self ::SCHEME_INSECURE ,
330+ $ this ->options ['host ' ]
331+ );
332+
333+ if (!$ this ->options ['adapter ' ]) {
334+ $ this ->options ['adapter ' ] = new GuzzleAdapter (
335+ new \GuzzleHttp \Client (['base_url ' => $ this ->options ['base_url ' ]])
336+ );
337+ }
338+
339+ $ this ->options ['cache ' ] = $ this ->configureCacheOptions ($ options );
340+ $ this ->options ['log ' ] = $ this ->configureLogOptions ($ options );
341+ }
334342}
0 commit comments