|
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