@@ -119,13 +119,19 @@ def parse_multipart_body(body: oai.RequestBody) -> Optional[Reference]:
119
119
120
120
@staticmethod
121
121
def parse_request_json_body (
122
- * , body : oai .RequestBody , schemas : Schemas
122
+ * , body : oai .RequestBody , schemas : Schemas , parent_name : str
123
123
) -> Tuple [Union [Property , PropertyError , None ], Schemas ]:
124
124
""" Return json_body """
125
125
body_content = body .content
126
126
json_body = body_content .get ("application/json" )
127
127
if json_body is not None and json_body .media_type_schema is not None :
128
- return property_from_data ("json_body" , required = True , data = json_body .media_type_schema , schemas = schemas )
128
+ return property_from_data (
129
+ name = "json_body" ,
130
+ required = True ,
131
+ data = json_body .media_type_schema ,
132
+ schemas = schemas ,
133
+ parent_name = parent_name ,
134
+ )
129
135
return None , schemas
130
136
131
137
@staticmethod
@@ -138,7 +144,9 @@ def _add_body(
138
144
return endpoint , schemas
139
145
140
146
endpoint .form_body_reference = Endpoint .parse_request_form_body (data .requestBody )
141
- json_body , schemas = Endpoint .parse_request_json_body (body = data .requestBody , schemas = schemas )
147
+ json_body , schemas = Endpoint .parse_request_json_body (
148
+ body = data .requestBody , schemas = schemas , parent_name = endpoint .name
149
+ )
142
150
if isinstance (json_body , ParseError ):
143
151
return ParseError (detail = f"cannot parse body of endpoint { endpoint .name } " , data = json_body .data ), schemas
144
152
@@ -161,7 +169,9 @@ def _add_body(
161
169
def _add_responses (* , endpoint : "Endpoint" , data : oai .Responses , schemas : Schemas ) -> Tuple ["Endpoint" , Schemas ]:
162
170
endpoint = deepcopy (endpoint )
163
171
for code , response_data in data .items ():
164
- response , schemas = response_from_data (status_code = int (code ), data = response_data , schemas = schemas )
172
+ response , schemas = response_from_data (
173
+ status_code = int (code ), data = response_data , schemas = schemas , parent_name = endpoint .name
174
+ )
165
175
if isinstance (response , ParseError ):
166
176
endpoint .errors .append (
167
177
ParseError (
@@ -188,7 +198,11 @@ def _add_parameters(
188
198
if isinstance (param , oai .Reference ) or param .param_schema is None :
189
199
continue
190
200
prop , schemas = property_from_data (
191
- name = param .name , required = param .required , data = param .param_schema , schemas = schemas
201
+ name = param .name ,
202
+ required = param .required ,
203
+ data = param .param_schema ,
204
+ schemas = schemas ,
205
+ parent_name = endpoint .name ,
192
206
)
193
207
if isinstance (prop , ParseError ):
194
208
return ParseError (detail = f"cannot parse parameter of endpoint { endpoint .name } " , data = prop .data ), schemas
0 commit comments