Skip to content

Commit 7938bea

Browse files
committed
OpenAPI config passed to validators and unmarshallers fix
1 parent 4729584 commit 7938bea

File tree

1 file changed

+80
-8
lines changed

1 file changed

+80
-8
lines changed

openapi_core/app.py

+80-8
Original file line numberDiff line numberDiff line change
@@ -204,63 +204,135 @@ def request_validator(self) -> RequestValidator:
204204
if self.request_validator_cls is None:
205205
raise SpecError("Validator class not found")
206206
return self.request_validator_cls(
207-
self.spec, base_url=self.config.server_base_url
207+
self.spec,
208+
base_url=self.config.server_base_url,
209+
style_deserializers_factory=self.config.style_deserializers_factory,
210+
media_type_deserializers_factory=self.config.media_type_deserializers_factory,
211+
schema_casters_factory=self.config.schema_casters_factory,
212+
schema_validators_factory=self.config.schema_validators_factory,
213+
spec_validator_cls=self.config.spec_validator_cls,
214+
extra_format_validators=self.config.extra_format_validators,
215+
extra_media_type_deserializers=self.config.extra_media_type_deserializers,
208216
)
209217

210218
@property
211219
def response_validator(self) -> ResponseValidator:
212220
if self.response_validator_cls is None:
213221
raise SpecError("Validator class not found")
214222
return self.response_validator_cls(
215-
self.spec, base_url=self.config.server_base_url
223+
self.spec,
224+
base_url=self.config.server_base_url,
225+
style_deserializers_factory=self.config.style_deserializers_factory,
226+
media_type_deserializers_factory=self.config.media_type_deserializers_factory,
227+
schema_casters_factory=self.config.schema_casters_factory,
228+
schema_validators_factory=self.config.schema_validators_factory,
229+
spec_validator_cls=self.config.spec_validator_cls,
230+
extra_format_validators=self.config.extra_format_validators,
231+
extra_media_type_deserializers=self.config.extra_media_type_deserializers,
216232
)
217233

218234
@property
219235
def webhook_request_validator(self) -> WebhookRequestValidator:
220236
if self.webhook_request_validator_cls is None:
221237
raise SpecError("Validator class not found")
222238
return self.webhook_request_validator_cls(
223-
self.spec, base_url=self.config.server_base_url
239+
self.spec,
240+
base_url=self.config.server_base_url,
241+
style_deserializers_factory=self.config.style_deserializers_factory,
242+
media_type_deserializers_factory=self.config.media_type_deserializers_factory,
243+
schema_casters_factory=self.config.schema_casters_factory,
244+
schema_validators_factory=self.config.schema_validators_factory,
245+
spec_validator_cls=self.config.spec_validator_cls,
246+
extra_format_validators=self.config.extra_format_validators,
247+
extra_media_type_deserializers=self.config.extra_media_type_deserializers,
224248
)
225249

226250
@property
227251
def webhook_response_validator(self) -> WebhookResponseValidator:
228252
if self.webhook_response_validator_cls is None:
229253
raise SpecError("Validator class not found")
230254
return self.webhook_response_validator_cls(
231-
self.spec, base_url=self.config.server_base_url
255+
self.spec,
256+
base_url=self.config.server_base_url,
257+
style_deserializers_factory=self.config.style_deserializers_factory,
258+
media_type_deserializers_factory=self.config.media_type_deserializers_factory,
259+
schema_casters_factory=self.config.schema_casters_factory,
260+
schema_validators_factory=self.config.schema_validators_factory,
261+
spec_validator_cls=self.config.spec_validator_cls,
262+
extra_format_validators=self.config.extra_format_validators,
263+
extra_media_type_deserializers=self.config.extra_media_type_deserializers,
232264
)
233265

234266
@property
235267
def request_unmarshaller(self) -> RequestUnmarshaller:
236268
if self.request_unmarshaller_cls is None:
237269
raise SpecError("Unmarshaller class not found")
238270
return self.request_unmarshaller_cls(
239-
self.spec, base_url=self.config.server_base_url
271+
self.spec,
272+
base_url=self.config.server_base_url,
273+
style_deserializers_factory=self.config.style_deserializers_factory,
274+
media_type_deserializers_factory=self.config.media_type_deserializers_factory,
275+
schema_casters_factory=self.config.schema_casters_factory,
276+
schema_validators_factory=self.config.schema_validators_factory,
277+
spec_validator_cls=self.config.spec_validator_cls,
278+
extra_format_validators=self.config.extra_format_validators,
279+
extra_media_type_deserializers=self.config.extra_media_type_deserializers,
280+
schema_unmarshallers_factory=self.config.schema_unmarshallers_factory,
281+
extra_format_unmarshallers=self.config.extra_format_unmarshallers,
240282
)
241283

242284
@property
243285
def response_unmarshaller(self) -> ResponseUnmarshaller:
244286
if self.response_unmarshaller_cls is None:
245287
raise SpecError("Unmarshaller class not found")
246288
return self.response_unmarshaller_cls(
247-
self.spec, base_url=self.config.server_base_url
289+
self.spec,
290+
base_url=self.config.server_base_url,
291+
style_deserializers_factory=self.config.style_deserializers_factory,
292+
media_type_deserializers_factory=self.config.media_type_deserializers_factory,
293+
schema_casters_factory=self.config.schema_casters_factory,
294+
schema_validators_factory=self.config.schema_validators_factory,
295+
spec_validator_cls=self.config.spec_validator_cls,
296+
extra_format_validators=self.config.extra_format_validators,
297+
extra_media_type_deserializers=self.config.extra_media_type_deserializers,
298+
schema_unmarshallers_factory=self.config.schema_unmarshallers_factory,
299+
extra_format_unmarshallers=self.config.extra_format_unmarshallers,
248300
)
249301

250302
@property
251303
def webhook_request_unmarshaller(self) -> WebhookRequestUnmarshaller:
252304
if self.webhook_request_unmarshaller_cls is None:
253305
raise SpecError("Unmarshaller class not found")
254306
return self.webhook_request_unmarshaller_cls(
255-
self.spec, base_url=self.config.server_base_url
307+
self.spec,
308+
base_url=self.config.server_base_url,
309+
style_deserializers_factory=self.config.style_deserializers_factory,
310+
media_type_deserializers_factory=self.config.media_type_deserializers_factory,
311+
schema_casters_factory=self.config.schema_casters_factory,
312+
schema_validators_factory=self.config.schema_validators_factory,
313+
spec_validator_cls=self.config.spec_validator_cls,
314+
extra_format_validators=self.config.extra_format_validators,
315+
extra_media_type_deserializers=self.config.extra_media_type_deserializers,
316+
schema_unmarshallers_factory=self.config.schema_unmarshallers_factory,
317+
extra_format_unmarshallers=self.config.extra_format_unmarshallers,
256318
)
257319

258320
@property
259321
def webhook_response_unmarshaller(self) -> WebhookResponseUnmarshaller:
260322
if self.webhook_response_unmarshaller_cls is None:
261323
raise SpecError("Unmarshaller class not found")
262324
return self.webhook_response_unmarshaller_cls(
263-
self.spec, base_url=self.config.server_base_url
325+
self.spec,
326+
base_url=self.config.server_base_url,
327+
style_deserializers_factory=self.config.style_deserializers_factory,
328+
media_type_deserializers_factory=self.config.media_type_deserializers_factory,
329+
schema_casters_factory=self.config.schema_casters_factory,
330+
schema_validators_factory=self.config.schema_validators_factory,
331+
spec_validator_cls=self.config.spec_validator_cls,
332+
extra_format_validators=self.config.extra_format_validators,
333+
extra_media_type_deserializers=self.config.extra_media_type_deserializers,
334+
schema_unmarshallers_factory=self.config.schema_unmarshallers_factory,
335+
extra_format_unmarshallers=self.config.extra_format_unmarshallers,
264336
)
265337

266338
def validate_request(self, request: AnyRequest) -> None:

0 commit comments

Comments
 (0)