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)
Ejemplo n.º 2
0
)

# 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