File tree Expand file tree Collapse file tree 3 files changed +31
-20
lines changed
Expand file tree Collapse file tree 3 files changed +31
-20
lines changed Original file line number Diff line number Diff line change 11"""OpenAPI core module"""
2- from openapi_core .shortcuts import create_spec
2+ from openapi_core .shortcuts import (
3+ create_spec , validate_parameters , validate_body ,
4+ )
35
46__author__ = 'Artur Maciąg'
57__email__ = 'maciag.artur@gmail.com'
68__version__ = '0.2.2'
79__url__ = 'https://github.com/p1c2u/openapi-core'
810__license__ = 'BSD 3-Clause License'
911
10- __all__ = ['create_spec' , ]
12+ __all__ = ['create_spec' , 'validate_parameters' , 'validate_body' ]
Original file line number Diff line number Diff line change 33from openapi_spec_validator .validators import Dereferencer
44from openapi_spec_validator import default_handlers
55
6+ from openapi_core .exceptions import OpenAPIParameterError , OpenAPIBodyError
67from openapi_core .specs import SpecFactory
8+ from openapi_core .validators import RequestValidator
79
810
911def create_spec (spec_dict , spec_url = '' ):
@@ -12,3 +14,25 @@ def create_spec(spec_dict, spec_url=''):
1214 dereferencer = Dereferencer (spec_resolver )
1315 spec_factory = SpecFactory (dereferencer )
1416 return spec_factory .create (spec_dict , spec_url = spec_url )
17+
18+
19+ def validate_parameters (spec , request ):
20+ validator = RequestValidator (spec )
21+ result = validator .validate (request )
22+ try :
23+ result .validate ()
24+ except OpenAPIBodyError :
25+ return result .parameters
26+ else :
27+ return result .parameters
28+
29+
30+ def validate_body (spec , request ):
31+ validator = RequestValidator (spec )
32+ result = validator .validate (request )
33+ try :
34+ result .validate ()
35+ except OpenAPIParameterError :
36+ return result .body
37+ else :
38+ return result .body
Original file line number Diff line number Diff line change 33
44from six .moves .urllib .parse import urljoin
55
6- from openapi_core .exceptions import OpenAPIParameterError , OpenAPIBodyError
7- from openapi_core .validators import RequestValidator
6+ from openapi_core .shortcuts import validate_parameters , validate_body
87
98
109class BaseOpenAPIRequest (object ):
@@ -30,14 +29,7 @@ def get_body(self, spec):
3029 DeprecationWarning ,
3130 )
3231 # backward compatibility
33- validator = RequestValidator (spec )
34- result = validator .validate (self )
35- try :
36- result .validate ()
37- except OpenAPIParameterError :
38- return result .body
39- else :
40- return result .body
32+ return validate_body (spec , self )
4133
4234 def get_parameters (self , spec ):
4335 warnings .warn (
@@ -46,14 +38,7 @@ def get_parameters(self, spec):
4638 DeprecationWarning ,
4739 )
4840 # backward compatibility
49- validator = RequestValidator (spec )
50- result = validator .validate (self )
51- try :
52- result .validate ()
53- except OpenAPIBodyError :
54- return result .parameters
55- else :
56- return result .parameters
41+ return validate_parameters (spec , self )
5742
5843
5944class MockRequest (BaseOpenAPIRequest ):
You can’t perform that action at this time.
0 commit comments