6
6
from typing import Optional
7
7
8
8
from 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
9
12
10
13
from openapi_core .casting .schemas import schema_casters_factory
11
14
from openapi_core .casting .schemas .factories import SchemaCastersFactory
@@ -70,6 +73,7 @@ def __init__(
70
73
style_deserializers_factory : StyleDeserializersFactory = style_deserializers_factory ,
71
74
media_type_deserializers_factory : MediaTypeDeserializersFactory = media_type_deserializers_factory ,
72
75
schema_validators_factory : Optional [SchemaValidatorsFactory ] = None ,
76
+ spec_validator_cls : Optional [SpecValidatorType ] = None ,
73
77
format_validators : Optional [FormatValidatorsDict ] = None ,
74
78
extra_format_validators : Optional [FormatValidatorsDict ] = None ,
75
79
extra_media_type_deserializers : Optional [
@@ -84,6 +88,7 @@ def __init__(
84
88
style_deserializers_factory = style_deserializers_factory ,
85
89
media_type_deserializers_factory = media_type_deserializers_factory ,
86
90
schema_validators_factory = schema_validators_factory ,
91
+ spec_validator_cls = spec_validator_cls ,
87
92
format_validators = format_validators ,
88
93
extra_format_validators = extra_format_validators ,
89
94
extra_media_type_deserializers = extra_media_type_deserializers ,
@@ -387,53 +392,65 @@ def iter_errors(self, request: WebhookRequest) -> Iterator[Exception]:
387
392
388
393
389
394
class V30RequestBodyValidator (APICallRequestBodyValidator ):
395
+ spec_validator_cls = OpenAPIV30SpecValidator
390
396
schema_validators_factory = oas30_write_schema_validators_factory
391
397
392
398
393
399
class V30RequestParametersValidator (APICallRequestParametersValidator ):
400
+ spec_validator_cls = OpenAPIV30SpecValidator
394
401
schema_validators_factory = oas30_write_schema_validators_factory
395
402
396
403
397
404
class V30RequestSecurityValidator (APICallRequestSecurityValidator ):
405
+ spec_validator_cls = OpenAPIV30SpecValidator
398
406
schema_validators_factory = oas30_write_schema_validators_factory
399
407
400
408
401
409
class V30RequestValidator (APICallRequestValidator ):
410
+ spec_validator_cls = OpenAPIV30SpecValidator
402
411
schema_validators_factory = oas30_write_schema_validators_factory
403
412
404
413
405
414
class V31RequestBodyValidator (APICallRequestBodyValidator ):
415
+ spec_validator_cls = OpenAPIV31SpecValidator
406
416
schema_validators_factory = oas31_schema_validators_factory
407
417
408
418
409
419
class V31RequestParametersValidator (APICallRequestParametersValidator ):
420
+ spec_validator_cls = OpenAPIV31SpecValidator
410
421
schema_validators_factory = oas31_schema_validators_factory
411
422
412
423
413
424
class V31RequestSecurityValidator (APICallRequestSecurityValidator ):
425
+ spec_validator_cls = OpenAPIV31SpecValidator
414
426
schema_validators_factory = oas31_schema_validators_factory
415
427
416
428
417
429
class V31RequestValidator (APICallRequestValidator ):
430
+ spec_validator_cls = OpenAPIV31SpecValidator
418
431
schema_validators_factory = oas31_schema_validators_factory
419
432
path_finder_cls = WebhookPathFinder
420
433
421
434
422
435
class V31WebhookRequestBodyValidator (WebhookRequestBodyValidator ):
436
+ spec_validator_cls = OpenAPIV31SpecValidator
423
437
schema_validators_factory = oas31_schema_validators_factory
424
438
path_finder_cls = WebhookPathFinder
425
439
426
440
427
441
class V31WebhookRequestParametersValidator (WebhookRequestParametersValidator ):
442
+ spec_validator_cls = OpenAPIV31SpecValidator
428
443
schema_validators_factory = oas31_schema_validators_factory
429
444
path_finder_cls = WebhookPathFinder
430
445
431
446
432
447
class V31WebhookRequestSecurityValidator (WebhookRequestSecurityValidator ):
448
+ spec_validator_cls = OpenAPIV31SpecValidator
433
449
schema_validators_factory = oas31_schema_validators_factory
434
450
path_finder_cls = WebhookPathFinder
435
451
436
452
437
453
class V31WebhookRequestValidator (WebhookRequestValidator ):
454
+ spec_validator_cls = OpenAPIV31SpecValidator
438
455
schema_validators_factory = oas31_schema_validators_factory
439
456
path_finder_cls = WebhookPathFinder
0 commit comments