44from openapi_core .contrib .falcon .requests import FalconOpenAPIRequest
55from openapi_core .contrib .falcon .responses import FalconOpenAPIResponse
66from openapi_core .validation .processors import OpenAPIProcessor
7- from openapi_core .validation .request . validators import RequestValidator
8- from openapi_core .validation .response . validators import ResponseValidator
7+ from openapi_core .validation .request import openapi_request_validator
8+ from openapi_core .validation .response import openapi_response_validator
99
1010
1111class FalconOpenAPIMiddleware :
@@ -16,11 +16,13 @@ class FalconOpenAPIMiddleware:
1616
1717 def __init__ (
1818 self ,
19+ spec ,
1920 validation_processor ,
2021 request_class = None ,
2122 response_class = None ,
2223 errors_handler = None ,
2324 ):
25+ self .spec = spec
2426 self .validation_processor = validation_processor
2527 self .request_class = request_class or self .request_class
2628 self .response_class = response_class or self .response_class
@@ -34,12 +36,11 @@ def from_spec(
3436 response_class = None ,
3537 errors_handler = None ,
3638 ):
37- request_validator = RequestValidator (spec )
38- response_validator = ResponseValidator (spec )
3939 validation_processor = OpenAPIProcessor (
40- request_validator , response_validator
40+ openapi_request_validator , openapi_response_validator
4141 )
4242 return cls (
43+ spec ,
4344 validation_processor ,
4445 request_class = request_class ,
4546 response_class = response_class ,
@@ -76,9 +77,11 @@ def _get_openapi_response(self, response):
7677 return self .response_class (response )
7778
7879 def _process_openapi_request (self , openapi_request ):
79- return self .validation_processor .process_request (openapi_request )
80+ return self .validation_processor .process_request (
81+ self .spec , openapi_request
82+ )
8083
8184 def _process_openapi_response (self , opneapi_request , openapi_response ):
8285 return self .validation_processor .process_response (
83- opneapi_request , openapi_response
86+ self . spec , opneapi_request , openapi_response
8487 )
0 commit comments