66from typing import Optional
77
88from jsonschema_path import SchemaPath
9+ from openapi_spec_validator import OpenAPIV30SpecValidator
10+ from openapi_spec_validator import OpenAPIV31SpecValidator
11+ from openapi_spec_validator .validation .types import SpecValidatorType
912
1013from openapi_core .casting .schemas import schema_casters_factory
1114from openapi_core .casting .schemas .factories import SchemaCastersFactory
@@ -70,6 +73,7 @@ def __init__(
7073 style_deserializers_factory : StyleDeserializersFactory = style_deserializers_factory ,
7174 media_type_deserializers_factory : MediaTypeDeserializersFactory = media_type_deserializers_factory ,
7275 schema_validators_factory : Optional [SchemaValidatorsFactory ] = None ,
76+ spec_validator_cls : Optional [SpecValidatorType ] = None ,
7377 format_validators : Optional [FormatValidatorsDict ] = None ,
7478 extra_format_validators : Optional [FormatValidatorsDict ] = None ,
7579 extra_media_type_deserializers : Optional [
@@ -84,6 +88,7 @@ def __init__(
8488 style_deserializers_factory = style_deserializers_factory ,
8589 media_type_deserializers_factory = media_type_deserializers_factory ,
8690 schema_validators_factory = schema_validators_factory ,
91+ spec_validator_cls = spec_validator_cls ,
8792 format_validators = format_validators ,
8893 extra_format_validators = extra_format_validators ,
8994 extra_media_type_deserializers = extra_media_type_deserializers ,
@@ -387,53 +392,65 @@ def iter_errors(self, request: WebhookRequest) -> Iterator[Exception]:
387392
388393
389394class V30RequestBodyValidator (APICallRequestBodyValidator ):
395+ spec_validator_cls = OpenAPIV30SpecValidator
390396 schema_validators_factory = oas30_write_schema_validators_factory
391397
392398
393399class V30RequestParametersValidator (APICallRequestParametersValidator ):
400+ spec_validator_cls = OpenAPIV30SpecValidator
394401 schema_validators_factory = oas30_write_schema_validators_factory
395402
396403
397404class V30RequestSecurityValidator (APICallRequestSecurityValidator ):
405+ spec_validator_cls = OpenAPIV30SpecValidator
398406 schema_validators_factory = oas30_write_schema_validators_factory
399407
400408
401409class V30RequestValidator (APICallRequestValidator ):
410+ spec_validator_cls = OpenAPIV30SpecValidator
402411 schema_validators_factory = oas30_write_schema_validators_factory
403412
404413
405414class V31RequestBodyValidator (APICallRequestBodyValidator ):
415+ spec_validator_cls = OpenAPIV31SpecValidator
406416 schema_validators_factory = oas31_schema_validators_factory
407417
408418
409419class V31RequestParametersValidator (APICallRequestParametersValidator ):
420+ spec_validator_cls = OpenAPIV31SpecValidator
410421 schema_validators_factory = oas31_schema_validators_factory
411422
412423
413424class V31RequestSecurityValidator (APICallRequestSecurityValidator ):
425+ spec_validator_cls = OpenAPIV31SpecValidator
414426 schema_validators_factory = oas31_schema_validators_factory
415427
416428
417429class V31RequestValidator (APICallRequestValidator ):
430+ spec_validator_cls = OpenAPIV31SpecValidator
418431 schema_validators_factory = oas31_schema_validators_factory
419432 path_finder_cls = WebhookPathFinder
420433
421434
422435class V31WebhookRequestBodyValidator (WebhookRequestBodyValidator ):
436+ spec_validator_cls = OpenAPIV31SpecValidator
423437 schema_validators_factory = oas31_schema_validators_factory
424438 path_finder_cls = WebhookPathFinder
425439
426440
427441class V31WebhookRequestParametersValidator (WebhookRequestParametersValidator ):
442+ spec_validator_cls = OpenAPIV31SpecValidator
428443 schema_validators_factory = oas31_schema_validators_factory
429444 path_finder_cls = WebhookPathFinder
430445
431446
432447class V31WebhookRequestSecurityValidator (WebhookRequestSecurityValidator ):
448+ spec_validator_cls = OpenAPIV31SpecValidator
433449 schema_validators_factory = oas31_schema_validators_factory
434450 path_finder_cls = WebhookPathFinder
435451
436452
437453class V31WebhookRequestValidator (WebhookRequestValidator ):
454+ spec_validator_cls = OpenAPIV31SpecValidator
438455 schema_validators_factory = oas31_schema_validators_factory
439456 path_finder_cls = WebhookPathFinder
0 commit comments