1
1
{ {> partial_header} }
2
2
3
- use async_trait::async_trait;
3
+ // use async_trait::async_trait;
4
4
{ {#mockall} }
5
5
#[cfg(feature = "mockall")]
6
6
use mockall::automock;
@@ -12,6 +12,7 @@ use crate::{apis::ResponseContent, models};
12
12
use super::{ Error, configuration} ;
13
13
use crate::apis::ContentType;
14
14
15
+ /*
15
16
{ {#mockall} }
16
17
#[cfg_attr(feature = "mockall", automock)]
17
18
{ {/mockall} }
@@ -34,20 +35,18 @@ pub trait {{{classname}}}: Send + Sync {
34
35
### Regular return type
35
36
} }{ {^supportMultipleResponses} }{ {^returnType} }(){ {/returnType} }{ {{returnType} }}{ {/supportMultipleResponses} }{ {!
36
37
### Error Type
37
- } }, Error< { {{operationIdCamelCase } }}Error> >;
38
+ } }, Error>;
38
39
{ {/vendorExtensions.x-group-parameters} }
39
40
{ {^vendorExtensions.x-group-parameters} }
40
41
async fn { {{operationId} }}{ {!
41
- ### Lifetimes
42
- } }<{ {#allParams} }'{ {#lambda.lifetimeName} }{ {{paramName} }}{ {/lambda.lifetimeName} }{ {^-last} }, { {/-last} }{ {/allParams} }>{ {!
43
42
### Function parameter names
44
43
} }(&self, { {#allParams} }{ {{paramName} }}: { {!
45
44
### Option Start
46
45
} }{ {^required} }Option<{ {/required} }{ {#required} }{ {#isNullable} }Option<{ {/isNullable} }{ {/required} }{ {!
47
46
### &str and Vec< &str>
48
- } }{ {#isString} }{ {#isArray} }Vec<{ {/isArray} }{ {^isUuid} }& ' { {#lambda.lifetimeName } } { {{paramName } }} { {/lambda.lifetimeName } } str{ {/isUuid} }{ {#isArray} }>{ {/isArray} }{ {/isString} }{ {!
47
+ } }{ {#isString} }{ {#isArray} }Vec<{ {/isArray} }{ {^isUuid} }&str{ {/isUuid} }{ {#isArray} }>{ {/isArray} }{ {/isString} }{ {!
49
48
### UUIDs
50
- } }{ {#isUuid} }{ {#isArray} }Vec<{ {/isArray} }&str { {#isArray} }>{ {/isArray} }{ {/isUuid} }{ {!
49
+ } }{ {#isUuid} }{ {#isArray} }Vec<{ {/isArray} }uuid::Uuid { {#isArray} }>{ {/isArray} }{ {/isUuid} }{ {!
51
50
### Models and primative types
52
51
} }{ {^isString} }{ {^isUuid} }{ {^isPrimitiveType} }{ {^isContainer} }models::{ {/isContainer} }{ {/isPrimitiveType} }{ {{dataType} }}{ {/isUuid} }{ {/isString} }{ {!
53
52
### Option End
@@ -61,11 +60,12 @@ pub trait {{{classname}}}: Send + Sync {
61
60
### Regular return type
62
61
} }{ {^supportMultipleResponses} }{ {^returnType} }(){ {/returnType} }{ {{returnType} }}{ {/supportMultipleResponses} }{ {!
63
62
### Error Type
64
- } }, Error< { {{operationIdCamelCase } }}Error> >;
63
+ } }, Error>;
65
64
{ {/vendorExtensions.x-group-parameters} }
66
65
{ {/operation} }
67
66
{ {/operations} }
68
67
}
68
+ */
69
69
70
70
pub struct { {{classname} }}Client {
71
71
configuration: Arc< configuration::Configuration>
@@ -99,7 +99,7 @@ pub struct {{{operationIdCamelCase}}}Params {
99
99
### &str and Vec< &str>
100
100
} }{ {^isUuid} }{ {#isString} }{ {#isArray} }Vec<{ {/isArray} }String{ {#isArray} }>{ {/isArray} }{ {/isString} }{ {/isUuid} }{ {!
101
101
### UUIDs
102
- } }{ {#isUuid} }{ {#isArray} }Vec<{ {/isArray} }String { {#isArray} }>{ {/isArray} }{ {/isUuid} }{ {!
102
+ } }{ {#isUuid} }{ {#isArray} }Vec<{ {/isArray} }uuid::Uuid { {#isArray} }>{ {/isArray} }{ {/isUuid} }{ {!
103
103
### Models and primative types
104
104
} }{ {^isString} }{ {^isUuid} }{ {^isPrimitiveType} }{ {^isContainer} }models::{ {/isContainer} }{ {/isPrimitiveType} }{ {{dataType} }}{ {/isUuid} }{ {/isString} }{ {!
105
105
### Option End
@@ -115,8 +115,8 @@ pub struct {{{operationIdCamelCase}}}Params {
115
115
{ {/operation} }
116
116
{ {/operations} }
117
117
118
- #[async_trait]
119
- impl { {classname} } for { {classname } } Client {
118
+ // #[async_trait]
119
+ impl { {classname} }Client {
120
120
{{#operations} }
121
121
{ {#operation} }
122
122
{ {#description} }
@@ -126,15 +126,15 @@ impl {{classname}} for {{classname}}Client {
126
126
/// { {{.} }}
127
127
{ {/notes} }
128
128
{ {#vendorExtensions.x-group-parameters} }
129
- async fn { {{operationId} }}(&self, { {#allParams} }{ {#-first} } params: { {{operationIdCamelCase} }}Params { {/-first} }{ {/allParams} }{ {!
129
+ pub async fn { {{operationId} }}(&self, { {#allParams} }{ {#-first} } params: { {{operationIdCamelCase} }}Params { {/-first} }{ {/allParams} }{ {!
130
130
### Function return type
131
131
} }) -> Result<{ {!
132
132
### Multi response support
133
133
} }{ {#supportMultipleResponses} }ResponseContent<{ {{operationIdCamelCase} }}Success>{ {/supportMultipleResponses} }{ {!
134
134
### Regular return type
135
135
} }{ {^supportMultipleResponses} }{ {^returnType} }(){ {/returnType} }{ {{returnType} }}{ {/supportMultipleResponses} }{ {!
136
136
### Error Type
137
- } }, Error< { {{operationIdCamelCase } }}Error> > {
137
+ } }, Error> {
138
138
{{#allParams} }{ {#-first} }
139
139
let { {{operationIdCamelCase} }}Params {
140
140
{{#allParams} }
@@ -145,17 +145,15 @@ impl {{classname}} for {{classname}}Client {
145
145
146
146
{ {/vendorExtensions.x-group-parameters} }
147
147
{ {^vendorExtensions.x-group-parameters} }
148
- async fn { {{operationId} }}{ {!
149
- ### Lifetimes
150
- } }<{ {#allParams} }'{ {#lambda.lifetimeName} }{ {{paramName} }}{ {/lambda.lifetimeName} }{ {^-last} }, { {/-last} }{ {/allParams} }>{ {!
148
+ pub async fn { {{operationId} }}{ {!
151
149
### Function parameter names
152
150
} }(&self, { {#allParams} }{ {{paramName} }}: { {!
153
151
### Option Start
154
152
} }{ {^required} }Option<{ {/required} }{ {#required} }{ {#isNullable} }Option<{ {/isNullable} }{ {/required} }{ {!
155
153
### &str and Vec< &str>
156
- } }{ {#isString} }{ {#isArray} }Vec<{ {/isArray} }{ {^isUuid} }& ' { {#lambda.lifetimeName } } { {{paramName } }} { {/lambda.lifetimeName } } str{ {/isUuid} }{ {#isArray} }>{ {/isArray} }{ {/isString} }{ {!
154
+ } }{ {#isString} }{ {#isArray} }Vec<{ {/isArray} }{ {^isUuid} }&str{ {/isUuid} }{ {#isArray} }>{ {/isArray} }{ {/isString} }{ {!
157
155
### UUIDs
158
- } }{ {#isUuid} }{ {#isArray} }Vec<{ {/isArray} }&str { {#isArray} }>{ {/isArray} }{ {/isUuid} }{ {!
156
+ } }{ {#isUuid} }{ {#isArray} }Vec<{ {/isArray} }uuid::Uuid { {#isArray} }>{ {/isArray} }{ {/isUuid} }{ {!
159
157
### Models and primative types
160
158
} }{ {^isString} }{ {^isUuid} }{ {^isPrimitiveType} }{ {^isContainer} }models::{ {/isContainer} }{ {/isPrimitiveType} }{ {{dataType} }}{ {/isUuid} }{ {/isString} }{ {!
161
159
### Option End
@@ -169,13 +167,12 @@ impl {{classname}} for {{classname}}Client {
169
167
### Regular return type
170
168
} }{ {^supportMultipleResponses} }{ {^returnType} }(){ {/returnType} }{ {{returnType} }}{ {/supportMultipleResponses} }{ {!
171
169
### Regular return type
172
- } }, Error< { {{operationIdCamelCase } }}Error> > {
170
+ } }, Error> {
173
171
{{/vendorExtensions.x-group-parameters} }
174
172
let local_var_configuration = &self.configuration;
175
173
176
174
let local_var_client = &local_var_configuration.client;
177
-
178
- let local_var_uri_str = format!("{ } { {{path} }}", local_var_configuration.base_path{ {#pathParams} }, { {{baseName} }}={ {#isString} }crate::apis::urlencode({ {/isString} }{ {{paramName} }}{ {^required} }.unwrap(){ {/required} }{ {#required} }{ {#isNullable} }.unwrap(){ {/isNullable} }{ {/required} }{ {#isArray} }.join(",").as_ref(){ {/isArray} }{ {^isString} }{ {^isUuid} }{ {^isPrimitiveType} }{ {^isContainer} }.to_string(){ {/isContainer} }{ {/isPrimitiveType} }{ {/isUuid} }{ {/isString} }{ {#isString} }){ {/isString} }{ {/pathParams} });
175
+ let local_var_uri_str = format!("{ } { {{path} }}", local_var_configuration.base_path{ {#pathParams} }, { {{baseName} }}={ {#isString} }{ {^isUuid} }crate::apis::urlencode({ {/isUuid} }{ {/isString} }{ {{paramName} }}{ {^required} }.unwrap(){ {/required} }{ {#required} }{ {#isNullable} }.unwrap(){ {/isNullable} }{ {/required} }{ {#isArray} }.join(",").as_ref(){ {/isArray} }{ {^isString} }{ {^isUuid} }{ {^isPrimitiveType} }{ {^isContainer} }.to_string(){ {/isContainer} }{ {/isPrimitiveType} }{ {/isUuid} }{ {/isString} }{ {#isString} }{ {^isUuid} }){ {/isUuid} }{ {/isString} }{ {/pathParams} });
179
176
let mut local_var_req_builder = local_var_client.request(reqwest::Method::{ {{httpMethod} }}, local_var_uri_str.as_str());
180
177
181
178
{ {#queryParams} }
@@ -321,9 +318,10 @@ impl {{classname}} for {{classname}}Client {
321
318
}
322
319
{ {/withAWSV4Signature} }
323
320
{ {/hasAuthMethods} }
321
+ { {! We set the user-agent to the reqwest client by default
324
322
if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
325
323
local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
326
- }
324
+ } }}
327
325
{ {#hasHeaderParams} }
328
326
{ {#headerParams} }
329
327
{ {#required} }
@@ -505,7 +503,7 @@ impl {{classname}} for {{classname}}Client {
505
503
Ok(local_var_result)
506
504
{ {/supportMultipleResponses} }
507
505
} else {
508
- let local_var_entity: Option< {{{operationIdCamelCase } }}Error > = serde_json::from_str(&local_var_content).ok();
506
+ let local_var_entity: Option< serde_json::Value > = serde_json::from_str(&local_var_content).ok();
509
507
let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity } ;
510
508
Err(Error::ResponseError(local_var_error))
511
509
}
@@ -536,25 +534,3 @@ pub enum {{{operationIdCamelCase}}}Success {
536
534
{ {/operation} }
537
535
{ {/operations} }
538
536
{ {/supportMultipleResponses} }
539
- { {#operations} }
540
- { {#operation} }
541
- /// struct for typed errors of method [`{ {{classname} }}::{ {operationId} }`]
542
- #[derive(Debug, Clone, Serialize, Deserialize)]
543
- #[serde(untagged)]
544
- pub enum { {{operationIdCamelCase} }}Error {
545
- {{#responses} }
546
- { {#is4xx} }
547
- Status{ {code} }({ {#isEnum} }{ {{enumName} }}{ {/isEnum} }{ {^isEnum} }{ {{dataType} }}{ {/isEnum} }),
548
- { {/is4xx} }
549
- { {#is5xx} }
550
- Status{ {code} }({ {#isEnum} }{ {{enumName} }}{ {/isEnum} }{ {^isEnum} }{ {{dataType} }}{ {/isEnum} }),
551
- { {/is5xx} }
552
- { {#isDefault} }
553
- DefaultResponse({ {#isEnum} }{ {{enumName} }}{ {/isEnum} }{ {^isEnum} }{ {{dataType} }}{ {/isEnum} }),
554
- { {/isDefault} }
555
- { {/responses} }
556
- UnknownValue(serde_json::Value),
557
- }
558
-
559
- { {/operation} }
560
- { {/operations} }
0 commit comments