11from openapi_core .compat import lru_cache
22from openapi_core .schema .components .models import Components
3+ from openapi_core .schema .extensions .generators import ExtensionsGenerator
34from openapi_core .schema .schemas .generators import SchemasGenerator
45from openapi_core .schema .security_schemes .generators import (
56 SecuritySchemesGenerator ,
@@ -21,6 +22,8 @@ def create(self, components_spec):
2122 request_bodies_spec = components_deref .get ('requestBodies' , {})
2223 security_schemes_spec = components_deref .get ('securitySchemes' , {})
2324
25+ extensions = self .extensions_generator .generate (components_deref )
26+
2427 schemas = self .schemas_generator .generate (schemas_spec )
2528 responses = self ._generate_response (responses_spec )
2629 parameters = self ._generate_parameters (parameters_spec )
@@ -30,13 +33,19 @@ def create(self, components_spec):
3033 return Components (
3134 schemas = list (schemas ), responses = responses , parameters = parameters ,
3235 request_bodies = request_bodies , security_schemes = security_schemes ,
36+ extensions = extensions ,
3337 )
3438
3539 @property
3640 @lru_cache ()
3741 def schemas_generator (self ):
3842 return SchemasGenerator (self .dereferencer , self .schemas_registry )
3943
44+ @property
45+ @lru_cache ()
46+ def extensions_generator (self ):
47+ return ExtensionsGenerator (self .dereferencer )
48+
4049 def _generate_response (self , responses_spec ):
4150 return responses_spec
4251
0 commit comments