|
4 | 4 | )
|
5 | 5 | from openapi_spec_validator.handlers import UrlHandler, FileObjectHandler
|
6 | 6 | from openapi_spec_validator.schemas import get_openapi_schema
|
7 |
| -from openapi_spec_validator.factories import JSONSpecValidatorFactory |
| 7 | +from openapi_spec_validator.factories import \ |
| 8 | + Draft202012JSONSpecValidatorFactory, Draft4JSONSpecValidatorFactory |
8 | 9 | from openapi_spec_validator.validators import SpecValidator
|
9 | 10 |
|
10 | 11 | __author__ = 'Artur Maciag'
|
|
14 | 15 | __license__ = 'Apache License, Version 2.0'
|
15 | 16 |
|
16 | 17 | __all__ = [
|
17 |
| - 'openapi_v2_spec_validator', 'openapi_v3_spec_validator', |
18 |
| - 'validate_v2_spec', 'validate_v3_spec', 'validate_spec', |
19 |
| - 'validate_v2_spec_url', 'validate_v3_spec_url', 'validate_spec_url', |
| 18 | + 'openapi_v2_spec_validator', |
| 19 | + 'openapi_v3_spec_validator', |
| 20 | + 'openapi_v31_spec_validator', |
| 21 | + 'validate_v2_spec', |
| 22 | + 'validate_v3_spec', |
| 23 | + 'validate_spec', |
| 24 | + 'validate_v2_spec_url', |
| 25 | + 'validate_v3_spec_url', |
| 26 | + 'validate_spec_url', |
20 | 27 | ]
|
21 | 28 |
|
22 | 29 | file_object_handler = FileObjectHandler()
|
|
30 | 37 |
|
31 | 38 | # v2.0 spec
|
32 | 39 | schema_v2, schema_v2_url = get_openapi_schema('2.0')
|
33 |
| -openapi_v2_validator_factory = JSONSpecValidatorFactory( |
| 40 | +openapi_v2_validator_factory = Draft4JSONSpecValidatorFactory( |
34 | 41 | schema_v2, schema_v2_url,
|
35 | 42 | resolver_handlers=default_handlers,
|
36 | 43 | )
|
|
41 | 48 |
|
42 | 49 | # v3.0 spec
|
43 | 50 | schema_v3, schema_v3_url = get_openapi_schema('3.0')
|
44 |
| -openapi_v3_validator_factory = JSONSpecValidatorFactory( |
| 51 | +openapi_v3_validator_factory = Draft4JSONSpecValidatorFactory( |
45 | 52 | schema_v3, schema_v3_url,
|
46 | 53 | resolver_handlers=default_handlers,
|
47 | 54 | )
|
|
50 | 57 | resolver_handlers=default_handlers,
|
51 | 58 | )
|
52 | 59 |
|
| 60 | +# v3.1 spec |
| 61 | +schema_v31, schema_v31_url = get_openapi_schema('3.1') |
| 62 | +openapi_v31_validator_factory = Draft202012JSONSpecValidatorFactory( |
| 63 | + schema_v31, schema_v31_url, |
| 64 | + resolver_handlers=default_handlers, |
| 65 | +) |
| 66 | +openapi_v31_spec_validator = SpecValidator( |
| 67 | + openapi_v31_validator_factory, |
| 68 | + resolver_handlers=default_handlers, |
| 69 | +) |
| 70 | + |
| 71 | + |
53 | 72 | # shortcuts
|
54 | 73 | validate_v2_spec = validate_spec_factory(openapi_v2_spec_validator.validate)
|
55 | 74 | validate_v2_spec_url = validate_spec_url_factory(
|
|
59 | 78 | validate_v3_spec_url = validate_spec_url_factory(
|
60 | 79 | openapi_v3_spec_validator.validate, default_handlers)
|
61 | 80 |
|
| 81 | + |
| 82 | +validate_v31_spec = validate_spec_factory(openapi_v31_spec_validator.validate) |
| 83 | +validate_v31_spec_url = validate_spec_url_factory( |
| 84 | + openapi_v31_spec_validator.validate, default_handlers) |
| 85 | + |
| 86 | + |
62 | 87 | # aliases to the latest version
|
63 | 88 | validate_spec = validate_v3_spec
|
64 | 89 | validate_spec_url = validate_v3_spec_url
|
0 commit comments