from openapi_spec_validator.factories import JSONSpecValidatorFactory from openapi_spec_validator.validators import SpecValidator __author__ = 'Artur Maciąg' __email__ = '*****@*****.**' __version__ = '0.1.0' __url__ = 'https://github.com/p1c2u/openapi-spec-validator' __license__ = 'Apache License, Version 2.0' __all__ = ['openapi_v3_validator', 'validate_spec', 'validate_spec_url'] default_handlers = { '<all_urls>': UrlHandler('http', 'https', 'file'), 'http': UrlHandler('http'), 'https': UrlHandler('https'), 'file': UrlHandler('file'), } schema_v3, schema_v3_url = get_openapi_schema('3.0.0') openapi_v3_validator_factory = JSONSpecValidatorFactory( schema_v3, schema_v3_url, resolver_handlers=default_handlers, ) openapi_v3_spec_validator = SpecValidator( openapi_v3_validator_factory, resolver_handlers=default_handlers, ) # shortcuts validate_spec = validate_spec_factory(openapi_v3_spec_validator.validate) validate_spec_url = validate_spec_url_factory( openapi_v3_spec_validator.validate, default_handlers)
) # v3.1 spec schema_v31, schema_v31_url = get_openapi_schema('3.1') openapi_v31_validator_factory = Draft202012JSONSpecValidatorFactory( schema_v31, schema_v31_url, resolver_handlers=default_handlers, ) openapi_v31_spec_validator = SpecValidator( openapi_v31_validator_factory, resolver_handlers=default_handlers, ) # shortcuts validate_v2_spec = validate_spec_factory(openapi_v2_spec_validator.validate) validate_v2_spec_url = validate_spec_url_factory( openapi_v2_spec_validator.validate, default_handlers) validate_v30_spec = validate_spec_factory(openapi_v30_spec_validator.validate) validate_v30_spec_url = validate_spec_url_factory( openapi_v30_spec_validator.validate, default_handlers) validate_v31_spec = validate_spec_factory(openapi_v31_spec_validator.validate) validate_v31_spec_url = validate_spec_url_factory( openapi_v31_spec_validator.validate, default_handlers) # aliases to the latest v3 version schema_v3 = schema_v31 schema_v3_url = schema_v31_url openapi_v3_validator_factory = openapi_v31_validator_factory