@@ -95,55 +95,61 @@ protected function configureOptions(array $options)
9595 'base_uri ' => null ,
9696 'api_token ' => null ,
9797 'guest_session_token ' => null ,
98- 'http ' => function (OptionsResolver $ optionsResolver ) {
99- $ optionsResolver ->setDefaults (
100- [
101- 'client ' => null ,
102- 'request_factory ' => null ,
103- 'response_factory ' => null ,
104- 'stream_factory ' => null ,
105- 'uri_factory ' => null ,
106- ]
107- );
108- $ optionsResolver ->setRequired (
109- [
110- 'client ' ,
111- 'request_factory ' ,
112- 'response_factory ' ,
113- 'stream_factory ' ,
114- 'uri_factory '
115- ]
116- );
117- $ optionsResolver ->setAllowedTypes ('client ' , [ClientInterface::class, 'null ' ]);
118- $ optionsResolver ->setAllowedTypes ('request_factory ' , [RequestFactoryInterface::class, 'null ' ]);
119- $ optionsResolver ->setAllowedTypes ('response_factory ' , [ResponseFactoryInterface::class, 'null ' ]);
120- $ optionsResolver ->setAllowedTypes ('stream_factory ' , [StreamFactoryInterface::class, 'null ' ]);
121- $ optionsResolver ->setAllowedTypes ('uri_factory ' , [UriFactoryInterface::class, 'null ' ]);
122- },
123- 'hydration ' => function (OptionsResolver $ optionsResolver ) {
124- $ optionsResolver ->setDefaults (
125- [
126- 'event_listener_handles_hydration ' => false ,
127- 'only_for_specified_models ' => []
128- ]
129- );
130- $ optionsResolver ->setAllowedTypes ('event_listener_handles_hydration ' , ['bool ' ]);
131- // @todo 4.1 validate these are actually models
132- $ optionsResolver ->setAllowedTypes ('only_for_specified_models ' , ['array ' ]);
133- },
134- 'event_dispatcher ' => function (OptionsResolver $ optionsResolver ) {
135- $ optionsResolver ->setDefaults (
136- [
137- 'adapter ' => null
138- ]
139- );
140-
141- $ optionsResolver ->setRequired (['adapter ' ]);
142- $ optionsResolver ->setAllowedTypes ('adapter ' , [EventDispatcherInterface::class]);
143- }
98+ 'http ' => [],
99+ 'hydration ' => [],
100+ 'event_dispatcher ' => [],
144101 ]
145102 );
146103
104+ $ resolver ->setOptions ('http ' , function (OptionsResolver $ optionsResolver ) {
105+ $ optionsResolver ->setDefaults (
106+ [
107+ 'client ' => null ,
108+ 'request_factory ' => null ,
109+ 'response_factory ' => null ,
110+ 'stream_factory ' => null ,
111+ 'uri_factory ' => null ,
112+ ]
113+ );
114+ $ optionsResolver ->setRequired (
115+ [
116+ 'client ' ,
117+ 'request_factory ' ,
118+ 'response_factory ' ,
119+ 'stream_factory ' ,
120+ 'uri_factory '
121+ ]
122+ );
123+ $ optionsResolver ->setAllowedTypes ('client ' , [ClientInterface::class, 'null ' ]);
124+ $ optionsResolver ->setAllowedTypes ('request_factory ' , [RequestFactoryInterface::class, 'null ' ]);
125+ $ optionsResolver ->setAllowedTypes ('response_factory ' , [ResponseFactoryInterface::class, 'null ' ]);
126+ $ optionsResolver ->setAllowedTypes ('stream_factory ' , [StreamFactoryInterface::class, 'null ' ]);
127+ $ optionsResolver ->setAllowedTypes ('uri_factory ' , [UriFactoryInterface::class, 'null ' ]);
128+ });
129+
130+ $ resolver ->setOptions ('hydration ' , function (OptionsResolver $ optionsResolver ) {
131+ $ optionsResolver ->setDefaults (
132+ [
133+ 'event_listener_handles_hydration ' => false ,
134+ 'only_for_specified_models ' => []
135+ ]
136+ );
137+ $ optionsResolver ->setAllowedTypes ('event_listener_handles_hydration ' , ['bool ' ]);
138+ // @todo 4.1 validate these are actually models
139+ $ optionsResolver ->setAllowedTypes ('only_for_specified_models ' , ['array ' ]);
140+ });
141+
142+ $ resolver ->setOptions ('event_dispatcher ' , function (OptionsResolver $ optionsResolver ) {
143+ $ optionsResolver ->setDefaults (
144+ [
145+ 'adapter ' => null
146+ ]
147+ );
148+
149+ $ optionsResolver ->setRequired (['adapter ' ]);
150+ $ optionsResolver ->setAllowedTypes ('adapter ' , [EventDispatcherInterface::class]);
151+ });
152+
147153 $ resolver ->setRequired (
148154 [
149155 'host ' ,
0 commit comments