@@ -51,6 +51,7 @@ def from_data(
5151 schemas : Schemas ,
5252 parameters : Parameters ,
5353 request_bodies : dict [str , Union [oai .RequestBody , oai .Reference ]],
54+ responses : dict [str , Union [oai .Response , oai .Reference ]],
5455 config : Config ,
5556 ) -> tuple [dict [utils .PythonIdentifier , "EndpointCollection" ], Schemas , Parameters ]:
5657 """Parse the openapi paths data to get EndpointCollections by tag"""
@@ -78,6 +79,7 @@ def from_data(
7879 schemas = schemas ,
7980 parameters = parameters ,
8081 request_bodies = request_bodies ,
82+ responses = responses ,
8183 config = config ,
8284 )
8385 # Add `PathItem` parameters
@@ -151,7 +153,12 @@ class Endpoint:
151153
152154 @staticmethod
153155 def _add_responses (
154- * , endpoint : "Endpoint" , data : oai .Responses , schemas : Schemas , config : Config
156+ * ,
157+ endpoint : "Endpoint" ,
158+ data : oai .Responses ,
159+ schemas : Schemas ,
160+ responses : dict [str , Union [oai .Response , oai .Reference ]],
161+ config : Config ,
155162 ) -> tuple ["Endpoint" , Schemas ]:
156163 endpoint = deepcopy (endpoint )
157164 for code , response_data in data .items ():
@@ -174,6 +181,7 @@ def _add_responses(
174181 status_code = status_code ,
175182 data = response_data ,
176183 schemas = schemas ,
184+ responses = responses ,
177185 parent_name = endpoint .name ,
178186 config = config ,
179187 )
@@ -403,6 +411,7 @@ def from_data(
403411 schemas : Schemas ,
404412 parameters : Parameters ,
405413 request_bodies : dict [str , Union [oai .RequestBody , oai .Reference ]],
414+ responses : dict [str , Union [oai .Response , oai .Reference ]],
406415 config : Config ,
407416 ) -> tuple [Union ["Endpoint" , ParseError ], Schemas , Parameters ]:
408417 """Construct an endpoint from the OpenAPI data"""
@@ -431,7 +440,13 @@ def from_data(
431440 )
432441 if isinstance (result , ParseError ):
433442 return result , schemas , parameters
434- result , schemas = Endpoint ._add_responses (endpoint = result , data = data .responses , schemas = schemas , config = config )
443+ result , schemas = Endpoint ._add_responses (
444+ endpoint = result ,
445+ data = data .responses ,
446+ schemas = schemas ,
447+ responses = responses ,
448+ config = config ,
449+ )
435450 if isinstance (result , ParseError ):
436451 return result , schemas , parameters
437452 bodies , schemas = body_from_data (
@@ -521,8 +536,14 @@ def from_dict(data: dict[str, Any], *, config: Config) -> Union["GeneratorData",
521536 config = config ,
522537 )
523538 request_bodies = (openapi .components and openapi .components .requestBodies ) or {}
539+ responses = (openapi .components and openapi .components .responses ) or {}
524540 endpoint_collections_by_tag , schemas , parameters = EndpointCollection .from_data (
525- data = openapi .paths , schemas = schemas , parameters = parameters , request_bodies = request_bodies , config = config
541+ data = openapi .paths ,
542+ schemas = schemas ,
543+ parameters = parameters ,
544+ request_bodies = request_bodies ,
545+ responses = responses ,
546+ config = config ,
526547 )
527548
528549 enums = (
0 commit comments