@@ -50,6 +50,7 @@ def from_data(
50
50
schemas : Schemas ,
51
51
parameters : Parameters ,
52
52
request_bodies : Dict [str , Union [oai .RequestBody , oai .Reference ]],
53
+ responses : Dict [str , Union [oai .Response , oai .Reference ]],
53
54
config : Config ,
54
55
) -> Tuple [Dict [utils .PythonIdentifier , "EndpointCollection" ], Schemas , Parameters ]:
55
56
"""Parse the openapi paths data to get EndpointCollections by tag"""
@@ -72,6 +73,7 @@ def from_data(
72
73
schemas = schemas ,
73
74
parameters = parameters ,
74
75
request_bodies = request_bodies ,
76
+ responses = responses ,
75
77
config = config ,
76
78
)
77
79
# Add `PathItem` parameters
@@ -144,7 +146,12 @@ class Endpoint:
144
146
145
147
@staticmethod
146
148
def _add_responses (
147
- * , endpoint : "Endpoint" , data : oai .Responses , schemas : Schemas , config : Config
149
+ * ,
150
+ endpoint : "Endpoint" ,
151
+ data : oai .Responses ,
152
+ schemas : Schemas ,
153
+ responses : Dict [str , Union [oai .Response , oai .Reference ]],
154
+ config : Config ,
148
155
) -> Tuple ["Endpoint" , Schemas ]:
149
156
endpoint = deepcopy (endpoint )
150
157
for code , response_data in data .items ():
@@ -167,6 +174,7 @@ def _add_responses(
167
174
status_code = status_code ,
168
175
data = response_data ,
169
176
schemas = schemas ,
177
+ responses = responses ,
170
178
parent_name = endpoint .name ,
171
179
config = config ,
172
180
)
@@ -396,6 +404,7 @@ def from_data(
396
404
schemas : Schemas ,
397
405
parameters : Parameters ,
398
406
request_bodies : Dict [str , Union [oai .RequestBody , oai .Reference ]],
407
+ responses : Dict [str , Union [oai .Response , oai .Reference ]],
399
408
config : Config ,
400
409
) -> Tuple [Union ["Endpoint" , ParseError ], Schemas , Parameters ]:
401
410
"""Construct an endpoint from the OpenAPI data"""
@@ -424,7 +433,13 @@ def from_data(
424
433
)
425
434
if isinstance (result , ParseError ):
426
435
return result , schemas , parameters
427
- result , schemas = Endpoint ._add_responses (endpoint = result , data = data .responses , schemas = schemas , config = config )
436
+ result , schemas = Endpoint ._add_responses (
437
+ endpoint = result ,
438
+ data = data .responses ,
439
+ schemas = schemas ,
440
+ responses = responses ,
441
+ config = config ,
442
+ )
428
443
if isinstance (result , ParseError ):
429
444
return result , schemas , parameters
430
445
bodies , schemas = body_from_data (
@@ -514,8 +529,14 @@ def from_dict(data: Dict[str, Any], *, config: Config) -> Union["GeneratorData",
514
529
config = config ,
515
530
)
516
531
request_bodies = (openapi .components and openapi .components .requestBodies ) or {}
532
+ responses = (openapi .components and openapi .components .responses ) or {}
517
533
endpoint_collections_by_tag , schemas , parameters = EndpointCollection .from_data (
518
- data = openapi .paths , schemas = schemas , parameters = parameters , request_bodies = request_bodies , config = config
534
+ data = openapi .paths ,
535
+ schemas = schemas ,
536
+ parameters = parameters ,
537
+ request_bodies = request_bodies ,
538
+ responses = responses ,
539
+ config = config ,
519
540
)
520
541
521
542
enums = (
0 commit comments