@@ -51,6 +51,7 @@ def from_data(
51
51
schemas : Schemas ,
52
52
parameters : Parameters ,
53
53
request_bodies : dict [str , Union [oai .RequestBody , oai .Reference ]],
54
+ responses : dict [str , Union [oai .Response , oai .Reference ]],
54
55
config : Config ,
55
56
) -> tuple [dict [utils .PythonIdentifier , "EndpointCollection" ], Schemas , Parameters ]:
56
57
"""Parse the openapi paths data to get EndpointCollections by tag"""
@@ -78,6 +79,7 @@ def from_data(
78
79
schemas = schemas ,
79
80
parameters = parameters ,
80
81
request_bodies = request_bodies ,
82
+ responses = responses ,
81
83
config = config ,
82
84
)
83
85
# Add `PathItem` parameters
@@ -151,7 +153,12 @@ class Endpoint:
151
153
152
154
@staticmethod
153
155
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 ,
155
162
) -> tuple ["Endpoint" , Schemas ]:
156
163
endpoint = deepcopy (endpoint )
157
164
for code , response_data in data .items ():
@@ -174,6 +181,7 @@ def _add_responses(
174
181
status_code = status_code ,
175
182
data = response_data ,
176
183
schemas = schemas ,
184
+ responses = responses ,
177
185
parent_name = endpoint .name ,
178
186
config = config ,
179
187
)
@@ -403,6 +411,7 @@ def from_data(
403
411
schemas : Schemas ,
404
412
parameters : Parameters ,
405
413
request_bodies : dict [str , Union [oai .RequestBody , oai .Reference ]],
414
+ responses : dict [str , Union [oai .Response , oai .Reference ]],
406
415
config : Config ,
407
416
) -> tuple [Union ["Endpoint" , ParseError ], Schemas , Parameters ]:
408
417
"""Construct an endpoint from the OpenAPI data"""
@@ -431,7 +440,13 @@ def from_data(
431
440
)
432
441
if isinstance (result , ParseError ):
433
442
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
+ )
435
450
if isinstance (result , ParseError ):
436
451
return result , schemas , parameters
437
452
bodies , schemas = body_from_data (
@@ -521,8 +536,14 @@ def from_dict(data: dict[str, Any], *, config: Config) -> Union["GeneratorData",
521
536
config = config ,
522
537
)
523
538
request_bodies = (openapi .components and openapi .components .requestBodies ) or {}
539
+ responses = (openapi .components and openapi .components .responses ) or {}
524
540
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 ,
526
547
)
527
548
528
549
enums = (
0 commit comments