Skip to content

Commit 610e2ef

Browse files
author
Danny Browning
committed
Clean up some of the whitespacing that causes issues for rust fmt
1 parent c40a25b commit 610e2ef

File tree

1 file changed

+59
-119
lines changed

1 file changed

+59
-119
lines changed

modules/openapi-generator/src/main/resources/rust-server/server-mod.mustache

Lines changed: 59 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -117,17 +117,16 @@ where
117117
// This match statement is duplicated below in `parse_operation_id()`.
118118
// Please update both places if changing how this code is autogenerated.
119119
match &method {
120-
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}
120+
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}
121121
// {{{operationId}}} - {{{httpMethod}}} {{{path}}}
122122
&hyper::Method::{{vendorExtensions.HttpMethod}} if path.matched(paths::ID_{{vendorExtensions.PATH_ID}}) => {
123-
{{#hasAuthMethods}}
123+
{{#hasAuthMethods}}
124124
let authorization = match (&context as &dyn Has<Option<Authorization>>).get() {
125125
&Some(ref authorization) => authorization,
126126
&None => return Ok(Response::builder().status(StatusCode::FORBIDDEN).body(hyper::Body::from("Unauthenticated")).unwrap()),
127127
};
128128

129-
{{#authMethods}}
130-
{{#isOAuth}}
129+
{{#authMethods}}{{#isOAuth}}
131130
// Authorization
132131
if let Scopes::Some(ref scopes) = authorization.scopes {
133132
let required_scopes: BTreeSet<String> = vec![
@@ -147,86 +146,63 @@ where
147146
;
148147
}
149148
}
150-
{{/isOAuth}}
151-
{{/authMethods}}
152-
{{/hasAuthMethods}}
153-
{{#vendorExtensions}}
154-
{{#consumesMultipart}}
149+
{{/isOAuth}}{{/authMethods}}{{/hasAuthMethods}}{{#vendorExtensions}}{{#consumesMultipart}}
155150
let boundary = match multipart_boundary(&headers) {
156151
Some(boundary) => boundary.to_string(),
157152
None => return Ok(Response::builder().status(StatusCode::BAD_REQUEST).body(hyper::Body::from("Couldn't find valid multipart body")).unwrap()),
158153
};
159-
{{/consumesMultipart}}
160-
{{#hasPathParams}}
154+
{{/consumesMultipart}}{{#hasPathParams}}
161155
// Path parameters
162156
let path = uri.path().to_string();
163157
let path_params = paths::REGEX_{{{PATH_ID}}}
164158
.captures(&path)
165159
.unwrap_or_else(||
166160
panic!("Path {} matched RE {{{PATH_ID}}} in set but failed match against \"{}\"", path, paths::REGEX_{{{PATH_ID}}}.as_str())
167161
);
168-
{{/hasPathParams}}
169-
{{/vendorExtensions}}
170-
{{#pathParams}}
162+
{{/hasPathParams}}{{/vendorExtensions}}{{#pathParams}}
171163
let param_{{{paramName}}} = match percent_encoding::percent_decode(path_params["{{{paramName}}}"].as_bytes()).decode_utf8() {
172164
Ok(param_{{{paramName}}}) => match param_{{{paramName}}}.parse::<{{{dataType}}}>() {
173165
Ok(param_{{{paramName}}}) => param_{{{paramName}}},
174166
Err(e) => return Ok(Response::builder().status(StatusCode::BAD_REQUEST).body(hyper::Body::from(format!("Couldn't parse path parameter {{{baseName}}}: {:?}", e))).unwrap()),
175167
},
176168
Err(_) => return Ok(Response::builder().status(StatusCode::BAD_REQUEST).body(hyper::Body::from(format!("Couldn't percent-decode path parameter as UTF-8: {}", &path_params["{{{baseName}}}"]))).unwrap())
177169
};
178-
{{/pathParams}}
179-
{{#headerParams}}
180-
{{#-first}}
170+
{{/pathParams}}{{#headerParams}}{{#-first}}
181171
// Header parameters
182-
{{/-first}}
183-
{{#required}}
172+
{{/-first}}{{#required}}
184173
let param_{{{paramName}}} = match headers.typed_get(Request{{vendorExtensions.typeName}}) {
185174
Some(param_{{{paramName}}}) => param_{{{paramName}}}.0.clone(),
186175
None => return Ok(Response::builder().status(StatusCode::BAD_REQUEST).body(hyper::Body::from("Missing or invalid required header {{{baseName}}}"))).unwrap()),
187176
};
188-
{{/required}}
189-
{{^required}}
177+
{{/required}}{{^required}}
190178
let param_{{{paramName}}} = headers.typed_get::<Request{{vendorExtensions.typeName}}>().map(|header| header.0.clone());
191-
{{/required}}
192-
{{/headerParams}}
193-
{{#queryParams}}
194-
{{#-first}}
179+
{{/required}}{{/headerParams}}{{#queryParams}}{{#-first}}
195180
// Query parameters (note that non-required or collection query parameters will ignore garbage values, rather than causing a 400 response)
196181
let query_params = form_urlencoded::parse(uri.query().unwrap_or_default().as_bytes()).collect::<Vec<_>>();
197-
{{/-first}}
182+
{{/-first}}
198183
let param_{{{paramName}}} = query_params.iter().filter(|e| e.0 == "{{{baseName}}}").map(|e| e.1.to_owned())
199-
{{#isListContainer}}
184+
{{#isListContainer}}
200185
.filter_map(|param_{{{paramName}}}| param_{{{paramName}}}.parse::<{{{baseType}}}>().ok())
201186
.collect::<Vec<_>>();
202-
{{^required}}
187+
{{^required}}
203188
let param_{{{paramName}}} = if !param_{{{paramName}}}.is_empty() {
204189
Some(param_{{{paramName}}})
205190
} else {
206191
None
207192
};
208-
{{/required}}
209-
{{/isListContainer}}
210-
{{^isListContainer}}
193+
{{/required}}{{/isListContainer}}{{^isListContainer}}
211194
.nth(0);
212-
{{#required}}
195+
{{#required}}
213196
let param_{{{paramName}}} = match param_{{{paramName}}} {
214197
Some(param_{{{paramName}}}) => match param_{{{paramName}}}.parse::<{{{dataType}}}>() {
215198
Ok(param_{{{paramName}}}) => param_{{{paramName}}},
216199
Err(e) => return Ok(Response::builder().status(StatusCode::BAD_REQUEST).body(hyper::Body::from(format!("Couldn't parse query parameter {{{baseName}}} - doesn't match schema: {}", e))).unwrap()),
217200
},
218201
None => return Ok(Response::builder().status(StatusCode::BAD_REQUEST).body(hyper::Body::from("Missing required query parameter {{{baseName}}}")).unwrap()),
219202
};
220-
{{/required}}
221-
{{^required}}
203+
{{/required}}{{^required}}
222204
let param_{{{paramName}}} = param_{{{paramName}}}.and_then(|param_{{{paramName}}}| param_{{{paramName}}}.parse::<{{{baseType}}}>().ok());
223-
{{/required}}
224-
{{/isListContainer}}
225-
{{/queryParams}}
226-
{{#vendorExtensions}}
227-
{{^consumesMultipart}}
228-
{{#bodyParams}}
229-
{{#-first}}
205+
{{/required}}{{/isListContainer}}{{/queryParams}}{{#vendorExtensions}}{{^consumesMultipart}}{{#bodyParams}}{{#-first}}
230206
// Body parameters (note that non-required body parameters will ignore garbage
231207
// values, rather than causing a 400 response). Produce warning header and logs for
232208
// any unused fields
@@ -243,55 +219,40 @@ where
243219
}
244220
Ok(v) => v,
245221
};
246-
{{#vendorExtensions}}
247-
{{^consumesPlainText}}
222+
{{#vendorExtensions}}{{^consumesPlainText}}
248223
let mut unused_elements = Vec::new();
249-
{{/consumesPlainText}}
224+
{{/consumesPlainText}}
250225
let param_{{{paramName}}}: Option<{{{dataType}}}> = if body.remaining() > 0 {
251-
{{#consumesXml}}
226+
{{#consumesXml}}
252227
let deserializer = &mut serde_xml_rs::de::Deserializer::new_from_reader(body.reader());
253-
{{/consumesXml}}
254-
{{#consumesJson}}
228+
{{/consumesXml}}{{#consumesJson}}
255229
let deserializer = &mut serde_json::Deserializer::from_reader(body.reader());
256-
{{/consumesJson}}
257-
{{^consumesPlainText}}
230+
{{/consumesJson}}{{^consumesPlainText}}
258231
match serde_ignored::deserialize(deserializer, |path| {
259232
warn!("Ignoring unknown field in body: {}", path);
260233
unused_elements.push(path.to_string());
261234
}) {
262235
Ok(param_{{{paramName}}}) => param_{{{paramName}}},
263-
{{#required}}
236+
{{#required}}
264237
Err(e) => return Ok(Response::builder().status(StatusCode::BAD_REQUEST).body(hyper::Body::from(format!("Couldn't parse body parameter {{{baseName}}} - doesn't match schema: {}", e))).unwrap()),
265-
{{/required}}
266-
{{^required}}
238+
{{/required}}{{^required}}
267239
Err(_) => None,
268-
{{/required}}
240+
{{/required}}
269241
}
270-
{{/consumesPlainText}}
271-
{{#consumesPlainText}}
272-
{{#isByteArray}}
242+
{{/consumesPlainText}}{{#consumesPlainText}}{{#isByteArray}}
273243
Some(openapi_context::ByteArray(bytes))
274-
{{/isByteArray}}
275-
{{#isString}}
244+
{{/isByteArray}}{{#isString}}
276245
Some(String::from_utf8(bytes).unwrap())
277-
{{/isString}}
278-
{{/consumesPlainText}}
246+
{{/isString}}{{/consumesPlainText}}
279247
} else {
280248
None
281249
};
282-
{{/vendorExtensions}}
283-
{{#required}}
250+
{{/vendorExtensions}}{{#required}}
284251
let param_{{{paramName}}} = match param_{{{paramName}}} {
285252
Some(param_{{{paramName}}}) => param_{{{paramName}}},
286253
None => return Ok(Response::builder().status(StatusCode::BAD_REQUEST).body(hyper::Body::from("Missing required body parameter {{{baseName}}}")).unwrap()),
287254
};
288-
{{/required}}
289-
{{/-first}}
290-
{{/bodyParams}}
291-
{{/consumesMultipart}}
292-
{{#consumesMultipart}}
293-
{{^bodyParams}}
294-
{{#vendorExtensions}}
255+
{{/required}}{{/-first}}{{/bodyParams}}{{/consumesMultipart}}{{#consumesMultipart}}{{^bodyParams}}{{#vendorExtensions}}
295256
// Form Body parameters (note that non-required body parameters will ignore garbage
296257
// values, rather than causing a 400 response). Produce warning header and logs for
297258
// any unused fields.
@@ -316,10 +277,9 @@ where
316277
return Ok(Response::builder().status(StatusCode::BAD_REQUEST).body(hyper::Body::from(format!("Unable to process all message parts"))).unwrap())
317278
},
318279
};
319-
{{#formParams}}{{#-first}}{{/-first}}
320-
{{#isByteArray}}
280+
{{#formParams}}{{#-first}}{{/-first}}{{#isByteArray}}
321281
let file_{{{paramName}}} = entries.fields.remove("{{{paramName}}}");
322-
{{#required}}
282+
{{#required}}
323283
let param_{{{paramName}}} = match file_{{{paramName}}} {
324284
Some(file) => {
325285
let mut reader = file[0].data.readable().unwrap();
@@ -329,7 +289,7 @@ where
329289
}
330290
None => return Ok(Response::new().status(StatusCode::BAD_REQUEST).body(format!("Missing required form parameter {{{paramName}}}")).unwrap()),
331291
};
332-
{{/required}}{{^required}}
292+
{{/required}}{{^required}}
333293
let param_{{{paramName}}} = match file_{{{paramName}}} {
334294
Some(file) => {
335295
let mut reader = file[0].data.readable().unwrap();
@@ -339,11 +299,9 @@ where
339299
}
340300
None => None,
341301
};
342-
{{/required}}
343-
{{/isByteArray}}
344-
{{^isByteArray}}{{#jsonSchema}}
302+
{{/required}}{{/isByteArray}}{{^isByteArray}}{{#jsonSchema}}
345303
let file_{{{paramName}}} = entries.fields.remove("{{{paramName}}}");
346-
{{#required}}
304+
{{#required}}
347305
let param_{{{paramName}}} = match file_{{{paramName}}} {
348306
Some(file) => {
349307
let mut reader = file[0].data.readable().unwrap();
@@ -359,7 +317,7 @@ where
359317
}
360318
None => return Ok(Response::builder().status(StatusCode::BAD_REQUEST).body(hyper::Body::from(format!("Missing required form parameter {{{paramName}}}"))).unwrap()),
361319
};
362-
{{/required}}{{^required}}
320+
{{/required}}{{^required}}
363321
let param_{{{paramName}}} = match file_{{{paramName}}} {
364322
Some(file) => {
365323
let mut reader = file[0].data.readable().unwrap();
@@ -370,25 +328,12 @@ where
370328
}
371329
None => None,
372330
};
373-
{{/required}}
374-
{{/jsonSchema}}{{/isByteArray}}
375-
{{/formParams}}
376-
{{/vendorExtensions}}
377-
{{/bodyParams}}
378-
{{/consumesMultipart}}
379-
{{^consumesMultipart}}
380-
{{^bodyParams}}
381-
{{#vendorExtensions}}
382-
{{#formParams}}
383-
{{#-first}}
331+
{{/required}}{{/jsonSchema}}{{/isByteArray}}{{/formParams}}{{/vendorExtensions}}{{/bodyParams}}{{/consumesMultipart}}
332+
{{^consumesMultipart}}{{^bodyParams}}{{#vendorExtensions}}{{#formParams}}{{#-first}}
384333
// Form parameters
385-
{{/-first}}
334+
{{/-first}}
386335
let param_{{{paramName}}} = {{^isContainer}}{{#vendorExtensions}}{{{example}}};{{/vendorExtensions}}{{/isContainer}}{{#isListContainer}}{{#required}}Vec::new();{{/required}}{{^required}}None;{{/required}}{{/isListContainer}}{{#isMapContainer}}None;{{/isMapContainer}}
387-
{{/formParams}}
388-
{{/vendorExtensions}}
389-
{{/bodyParams}}
390-
{{/consumesMultipart}}
391-
{{/vendorExtensions}}
336+
{{/formParams}}{{/vendorExtensions}}{{/bodyParams}}{{/consumesMultipart}}{{/vendorExtensions}}
392337
let result = api_impl.{{#vendorExtensions}}{{{operation_id}}}{{/vendorExtensions}}({{#allParams}}param_{{{paramName}}}{{#isListContainer}}.as_ref(){{/isListContainer}}, {{/allParams}}&context).await;
393338
let mut response = Response::builder();
394339
response.headers_mut().unwrap().typed_insert(XSpanId( (&context as &dyn Has<XSpanId>).get().0.to_string() ));
@@ -401,59 +346,54 @@ where
401346
}
402347
Ok(r) => r,
403348
};
404-
{{#bodyParams}}{{#vendorExtensions}}{{^consumesPlainText}}
349+
{{#bodyParams}}{{#vendorExtensions}}{{^consumesPlainText}}
405350
if !unused_elements.is_empty() {
406351
response.headers_mut().unwrap().typed_insert(Warning(format!("Ignoring unknown fields in body: {:?}", unused_elements)));
407352
}
408-
{{/consumesPlainText}}{{/vendorExtensions}}{{/bodyParams}}
353+
{{/consumesPlainText}}{{/vendorExtensions}}{{/bodyParams}}
409354
match result {
410-
{{#responses}}
355+
{{#responses}}
411356
{{{operationId}}}Response::{{#vendorExtensions}}{{x-responseId}}{{/vendorExtensions}}{{#dataType}}{{^headers}}(body){{/headers}}{{#headers}}
412-
{{#-first}}
357+
{{#-first}}
413358
{
414359
body,
415360
{{/-first}}{{{name}}}{{^-last}}, {{/-last}}{{#-last}}
416361
}
417-
{{/-last}}
418-
{{/headers}}{{/dataType}}
419-
{{^dataType}}{{#headers}}{{#-first}}
362+
{{/-last}}{{/headers}}{{/dataType}}
363+
{{^dataType}}{{#headers}}{{#-first}}
420364
{
421365
{{/-first}}{{{name}}}{{^-last}}, {{/-last}}{{#-last}}
422366
}
423-
{{/-last}}
424-
{{/headers}}{{/dataType}}
367+
{{/-last}}{{/headers}}{{/dataType}}
425368
=> {
426369
response = response.status(hyper::http::StatusCode::from_u16({{{code}}}).unwrap());
427-
{{#headers}}
370+
{{#headers}}
428371
response.headers_mut().unwrap().typed_insert(Response{{{nameInCamelCase}}}({{{name}}}));
429-
{{/headers}}
430-
{{#produces}}{{#-first}}{{#dataType}}
372+
{{/headers}}{{#produces}}{{#-first}}{{#dataType}}
431373
let header = headers::ContentType::from(mimetypes::responses::{{#vendorExtensions}}{{{uppercase_operation_id}}}_{{x-uppercaseResponseId}}{{/vendorExtensions}}.clone());
432374
response.headers_mut().unwrap().typed_insert(header);
433-
{{/dataType}}{{/-first}}{{/produces}}
434-
{{#dataType}}
435-
{{#vendorExtensions}}{{#producesXml}}{{^has_namespace}}
375+
{{/dataType}}{{/-first}}{{/produces}}{{#dataType}}
376+
{{#vendorExtensions}}{{#producesXml}}{{^has_namespace}}
436377
let body = serde_xml_rs::to_string(&body).expect("impossible to fail to serialize");
437-
{{/has_namespace}}{{#has_namespace}}
378+
{{/has_namespace}}{{#has_namespace}}
438379
let mut namespaces = BTreeMap::new();
439380
// An empty string is used to indicate a global namespace in xmltree.
440381
namespaces.insert("".to_string(), {{{dataType}}}::NAMESPACE.to_string());
441382
let body = serde_xml_rs::to_string_with_namespaces(&body, namespaces).expect("impossible to fail to serialize");
442-
{{/has_namespace}}{{/producesXml}}{{#producesJson}}
383+
{{/has_namespace}}{{/producesXml}}{{#producesJson}}
443384
let body = serde_json::to_string(&body).expect("impossible to fail to serialize");
444-
{{/producesJson}}{{#producesPlainText}}
385+
{{/producesJson}}{{#producesPlainText}}
445386
let body = body.0;
446-
{{/producesPlainText}}{{/vendorExtensions}}
387+
{{/producesPlainText}}{{/vendorExtensions}}
447388
Ok(response.body(Body::from(body)).unwrap())
448-
{{/dataType}}
449-
{{^dataType}}
389+
{{/dataType}}{{^dataType}}
450390
Ok(response.body(Body::empty()).unwrap())
451-
{{/dataType}}
391+
{{/dataType}}
452392
},
453-
{{/responses}}
393+
{{/responses}}
454394
}
455395
},
456-
{{/operation}}{{/operations}}{{/apis}}{{/apiInfo}}
396+
{{/operation}}{{/operations}}{{/apis}}{{/apiInfo}}
457397
_ => Ok(Response::builder().status(StatusCode::NOT_FOUND).body(Body::empty()).unwrap()),
458398
}
459399
}

0 commit comments

Comments
 (0)