1use reqwest;
13use serde::{Deserialize, Serialize, de::Error as _};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration, ContentType};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum GetItemsDataError {
22 Status400(models::InlineObject),
23 Status500(models::InlineObject),
24 UnknownValue(serde_json::Value),
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(untagged)]
30pub enum GetModsDataError {
31 Status400(models::InlineObject),
32 Status500(models::InlineObject),
33 UnknownValue(serde_json::Value),
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
38#[serde(untagged)]
39pub enum GetWarframesDataError {
40 Status400(models::InlineObject),
41 Status500(models::InlineObject),
42 UnknownValue(serde_json::Value),
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum GetWeaponsDataError {
49 Status400(models::InlineObject),
50 Status500(models::InlineObject),
51 UnknownValue(serde_json::Value),
52}
53
54#[derive(Debug, Clone, Serialize, Deserialize)]
56#[serde(untagged)]
57pub enum SearchItemDataError {
58 Status400(models::InlineObject),
59 Status500(models::InlineObject),
60 UnknownValue(serde_json::Value),
61}
62
63#[derive(Debug, Clone, Serialize, Deserialize)]
65#[serde(untagged)]
66pub enum SearchItemsDataError {
67 Status400(models::InlineObject),
68 Status500(models::InlineObject),
69 UnknownValue(serde_json::Value),
70}
71
72#[derive(Debug, Clone, Serialize, Deserialize)]
74#[serde(untagged)]
75pub enum SearchModDataError {
76 Status400(models::InlineObject),
77 Status500(models::InlineObject),
78 UnknownValue(serde_json::Value),
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum SearchModsDataError {
85 Status400(models::InlineObject),
86 Status500(models::InlineObject),
87 UnknownValue(serde_json::Value),
88}
89
90#[derive(Debug, Clone, Serialize, Deserialize)]
92#[serde(untagged)]
93pub enum SearchWarframeDataError {
94 Status400(models::InlineObject),
95 Status500(models::InlineObject),
96 UnknownValue(serde_json::Value),
97}
98
99#[derive(Debug, Clone, Serialize, Deserialize)]
101#[serde(untagged)]
102pub enum SearchWarframesDataError {
103 Status400(models::InlineObject),
104 Status500(models::InlineObject),
105 UnknownValue(serde_json::Value),
106}
107
108#[derive(Debug, Clone, Serialize, Deserialize)]
110#[serde(untagged)]
111pub enum SearchWeaponDataError {
112 Status400(models::InlineObject),
113 Status500(models::InlineObject),
114 UnknownValue(serde_json::Value),
115}
116
117#[derive(Debug, Clone, Serialize, Deserialize)]
119#[serde(untagged)]
120pub enum SearchWeaponsDataError {
121 Status400(models::InlineObject),
122 Status500(models::InlineObject),
123 UnknownValue(serde_json::Value),
124}
125
126
127pub async fn get_items_data(configuration: &configuration::Configuration, language: models::Language, only: Option<&str>, remove: Option<&str>, accept_language: Option<models::Language>) -> Result<Vec<models::ItemsInner>, Error<GetItemsDataError>> {
129 let p_query_language = language;
131 let p_query_only = only;
132 let p_query_remove = remove;
133 let p_header_accept_language = accept_language;
134
135 let uri_str = format!("{}/items", configuration.base_path);
136 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
137
138 if let Some(ref param_value) = p_query_only {
139 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
140 }
141 if let Some(ref param_value) = p_query_remove {
142 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
143 }
144 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
145 if let Some(ref user_agent) = configuration.user_agent {
146 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
147 }
148 if let Some(param_value) = p_header_accept_language {
149 req_builder = req_builder.header("Accept-Language", param_value.to_string());
150 }
151
152 let req = req_builder.build()?;
153 let resp = configuration.client.execute(req).await?;
154
155 let status = resp.status();
156 let content_type = resp
157 .headers()
158 .get("content-type")
159 .and_then(|v| v.to_str().ok())
160 .unwrap_or("application/octet-stream");
161 let content_type = super::ContentType::from(content_type);
162
163 if !status.is_client_error() && !status.is_server_error() {
164 let content = resp.text().await?;
165 match content_type {
166 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
167 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::ItemsInner>`"))),
168 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::ItemsInner>`")))),
169 }
170 } else {
171 let content = resp.text().await?;
172 let entity: Option<GetItemsDataError> = serde_json::from_str(&content).ok();
173 Err(Error::ResponseError(ResponseContent { status, content, entity }))
174 }
175}
176
177pub async fn get_mods_data(configuration: &configuration::Configuration, language: models::Language, only: Option<&str>, remove: Option<&str>, accept_language: Option<models::Language>) -> Result<Vec<models::Mod>, Error<GetModsDataError>> {
178 let p_query_language = language;
180 let p_query_only = only;
181 let p_query_remove = remove;
182 let p_header_accept_language = accept_language;
183
184 let uri_str = format!("{}/mods", configuration.base_path);
185 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
186
187 if let Some(ref param_value) = p_query_only {
188 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
189 }
190 if let Some(ref param_value) = p_query_remove {
191 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
192 }
193 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
194 if let Some(ref user_agent) = configuration.user_agent {
195 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
196 }
197 if let Some(param_value) = p_header_accept_language {
198 req_builder = req_builder.header("Accept-Language", param_value.to_string());
199 }
200
201 let req = req_builder.build()?;
202 let resp = configuration.client.execute(req).await?;
203
204 let status = resp.status();
205 let content_type = resp
206 .headers()
207 .get("content-type")
208 .and_then(|v| v.to_str().ok())
209 .unwrap_or("application/octet-stream");
210 let content_type = super::ContentType::from(content_type);
211
212 if !status.is_client_error() && !status.is_server_error() {
213 let content = resp.text().await?;
214 match content_type {
215 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
216 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::Mod>`"))),
217 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::Mod>`")))),
218 }
219 } else {
220 let content = resp.text().await?;
221 let entity: Option<GetModsDataError> = serde_json::from_str(&content).ok();
222 Err(Error::ResponseError(ResponseContent { status, content, entity }))
223 }
224}
225
226pub async fn get_warframes_data(configuration: &configuration::Configuration, language: models::Language, only: Option<&str>, remove: Option<&str>, accept_language: Option<models::Language>) -> Result<Vec<models::Warframe>, Error<GetWarframesDataError>> {
228 let p_query_language = language;
230 let p_query_only = only;
231 let p_query_remove = remove;
232 let p_header_accept_language = accept_language;
233
234 let uri_str = format!("{}/warframes", configuration.base_path);
235 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
236
237 if let Some(ref param_value) = p_query_only {
238 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
239 }
240 if let Some(ref param_value) = p_query_remove {
241 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
242 }
243 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
244 if let Some(ref user_agent) = configuration.user_agent {
245 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
246 }
247 if let Some(param_value) = p_header_accept_language {
248 req_builder = req_builder.header("Accept-Language", param_value.to_string());
249 }
250
251 let req = req_builder.build()?;
252 let resp = configuration.client.execute(req).await?;
253
254 let status = resp.status();
255 let content_type = resp
256 .headers()
257 .get("content-type")
258 .and_then(|v| v.to_str().ok())
259 .unwrap_or("application/octet-stream");
260 let content_type = super::ContentType::from(content_type);
261
262 if !status.is_client_error() && !status.is_server_error() {
263 let content = resp.text().await?;
264 match content_type {
265 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
266 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::Warframe>`"))),
267 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::Warframe>`")))),
268 }
269 } else {
270 let content = resp.text().await?;
271 let entity: Option<GetWarframesDataError> = serde_json::from_str(&content).ok();
272 Err(Error::ResponseError(ResponseContent { status, content, entity }))
273 }
274}
275
276pub async fn get_weapons_data(configuration: &configuration::Configuration, language: models::Language, only: Option<&str>, remove: Option<&str>, accept_language: Option<models::Language>) -> Result<Vec<models::WeaponsInner>, Error<GetWeaponsDataError>> {
278 let p_query_language = language;
280 let p_query_only = only;
281 let p_query_remove = remove;
282 let p_header_accept_language = accept_language;
283
284 let uri_str = format!("{}/weapons", configuration.base_path);
285 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
286
287 if let Some(ref param_value) = p_query_only {
288 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
289 }
290 if let Some(ref param_value) = p_query_remove {
291 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
292 }
293 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
294 if let Some(ref user_agent) = configuration.user_agent {
295 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
296 }
297 if let Some(param_value) = p_header_accept_language {
298 req_builder = req_builder.header("Accept-Language", param_value.to_string());
299 }
300
301 let req = req_builder.build()?;
302 let resp = configuration.client.execute(req).await?;
303
304 let status = resp.status();
305 let content_type = resp
306 .headers()
307 .get("content-type")
308 .and_then(|v| v.to_str().ok())
309 .unwrap_or("application/octet-stream");
310 let content_type = super::ContentType::from(content_type);
311
312 if !status.is_client_error() && !status.is_server_error() {
313 let content = resp.text().await?;
314 match content_type {
315 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
316 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::WeaponsInner>`"))),
317 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::WeaponsInner>`")))),
318 }
319 } else {
320 let content = resp.text().await?;
321 let entity: Option<GetWeaponsDataError> = serde_json::from_str(&content).ok();
322 Err(Error::ResponseError(ResponseContent { status, content, entity }))
323 }
324}
325
326pub async fn search_item_data(configuration: &configuration::Configuration, query: &str, language: models::Language, only: Option<&str>, remove: Option<&str>, by: Option<&str>, accept_language: Option<models::Language>) -> Result<models::Item, Error<SearchItemDataError>> {
328 let p_path_query = query;
330 let p_query_language = language;
331 let p_query_only = only;
332 let p_query_remove = remove;
333 let p_query_by = by;
334 let p_header_accept_language = accept_language;
335
336 let uri_str = format!("{}/items/{query}", configuration.base_path, query=crate::apis::urlencode(p_path_query));
337 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
338
339 if let Some(ref param_value) = p_query_only {
340 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
341 }
342 if let Some(ref param_value) = p_query_remove {
343 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
344 }
345 if let Some(ref param_value) = p_query_by {
346 req_builder = req_builder.query(&[("by", ¶m_value.to_string())]);
347 }
348 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
349 if let Some(ref user_agent) = configuration.user_agent {
350 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
351 }
352 if let Some(param_value) = p_header_accept_language {
353 req_builder = req_builder.header("Accept-Language", param_value.to_string());
354 }
355
356 let req = req_builder.build()?;
357 let resp = configuration.client.execute(req).await?;
358
359 let status = resp.status();
360 let content_type = resp
361 .headers()
362 .get("content-type")
363 .and_then(|v| v.to_str().ok())
364 .unwrap_or("application/octet-stream");
365 let content_type = super::ContentType::from(content_type);
366
367 if !status.is_client_error() && !status.is_server_error() {
368 let content = resp.text().await?;
369 match content_type {
370 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
371 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Item`"))),
372 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Item`")))),
373 }
374 } else {
375 let content = resp.text().await?;
376 let entity: Option<SearchItemDataError> = serde_json::from_str(&content).ok();
377 Err(Error::ResponseError(ResponseContent { status, content, entity }))
378 }
379}
380
381pub async fn search_items_data(configuration: &configuration::Configuration, query: &str, language: models::Language, only: Option<&str>, remove: Option<&str>, by: Option<&str>, accept_language: Option<models::Language>) -> Result<Vec<models::ItemsInner>, Error<SearchItemsDataError>> {
383 let p_path_query = query;
385 let p_query_language = language;
386 let p_query_only = only;
387 let p_query_remove = remove;
388 let p_query_by = by;
389 let p_header_accept_language = accept_language;
390
391 let uri_str = format!("{}/items/search/{query}", configuration.base_path, query=crate::apis::urlencode(p_path_query));
392 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
393
394 if let Some(ref param_value) = p_query_only {
395 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
396 }
397 if let Some(ref param_value) = p_query_remove {
398 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
399 }
400 if let Some(ref param_value) = p_query_by {
401 req_builder = req_builder.query(&[("by", ¶m_value.to_string())]);
402 }
403 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
404 if let Some(ref user_agent) = configuration.user_agent {
405 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
406 }
407 if let Some(param_value) = p_header_accept_language {
408 req_builder = req_builder.header("Accept-Language", param_value.to_string());
409 }
410
411 let req = req_builder.build()?;
412 let resp = configuration.client.execute(req).await?;
413
414 let status = resp.status();
415 let content_type = resp
416 .headers()
417 .get("content-type")
418 .and_then(|v| v.to_str().ok())
419 .unwrap_or("application/octet-stream");
420 let content_type = super::ContentType::from(content_type);
421
422 if !status.is_client_error() && !status.is_server_error() {
423 let content = resp.text().await?;
424 match content_type {
425 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
426 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::ItemsInner>`"))),
427 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::ItemsInner>`")))),
428 }
429 } else {
430 let content = resp.text().await?;
431 let entity: Option<SearchItemsDataError> = serde_json::from_str(&content).ok();
432 Err(Error::ResponseError(ResponseContent { status, content, entity }))
433 }
434}
435
436pub async fn search_mod_data(configuration: &configuration::Configuration, query: &str, language: models::Language, only: Option<&str>, remove: Option<&str>, by: Option<&str>, accept_language: Option<models::Language>) -> Result<models::Mod, Error<SearchModDataError>> {
438 let p_path_query = query;
440 let p_query_language = language;
441 let p_query_only = only;
442 let p_query_remove = remove;
443 let p_query_by = by;
444 let p_header_accept_language = accept_language;
445
446 let uri_str = format!("{}/mods/{query}", configuration.base_path, query=crate::apis::urlencode(p_path_query));
447 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
448
449 if let Some(ref param_value) = p_query_only {
450 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
451 }
452 if let Some(ref param_value) = p_query_remove {
453 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
454 }
455 if let Some(ref param_value) = p_query_by {
456 req_builder = req_builder.query(&[("by", ¶m_value.to_string())]);
457 }
458 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
459 if let Some(ref user_agent) = configuration.user_agent {
460 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
461 }
462 if let Some(param_value) = p_header_accept_language {
463 req_builder = req_builder.header("Accept-Language", param_value.to_string());
464 }
465
466 let req = req_builder.build()?;
467 let resp = configuration.client.execute(req).await?;
468
469 let status = resp.status();
470 let content_type = resp
471 .headers()
472 .get("content-type")
473 .and_then(|v| v.to_str().ok())
474 .unwrap_or("application/octet-stream");
475 let content_type = super::ContentType::from(content_type);
476
477 if !status.is_client_error() && !status.is_server_error() {
478 let content = resp.text().await?;
479 match content_type {
480 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
481 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Mod`"))),
482 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Mod`")))),
483 }
484 } else {
485 let content = resp.text().await?;
486 let entity: Option<SearchModDataError> = serde_json::from_str(&content).ok();
487 Err(Error::ResponseError(ResponseContent { status, content, entity }))
488 }
489}
490
491pub async fn search_mods_data(configuration: &configuration::Configuration, query: &str, language: models::Language, only: Option<&str>, remove: Option<&str>, by: Option<&str>, accept_language: Option<models::Language>) -> Result<Vec<models::Mod>, Error<SearchModsDataError>> {
493 let p_path_query = query;
495 let p_query_language = language;
496 let p_query_only = only;
497 let p_query_remove = remove;
498 let p_query_by = by;
499 let p_header_accept_language = accept_language;
500
501 let uri_str = format!("{}/mods/search/{query}", configuration.base_path, query=crate::apis::urlencode(p_path_query));
502 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
503
504 if let Some(ref param_value) = p_query_only {
505 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
506 }
507 if let Some(ref param_value) = p_query_remove {
508 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
509 }
510 if let Some(ref param_value) = p_query_by {
511 req_builder = req_builder.query(&[("by", ¶m_value.to_string())]);
512 }
513 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
514 if let Some(ref user_agent) = configuration.user_agent {
515 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
516 }
517 if let Some(param_value) = p_header_accept_language {
518 req_builder = req_builder.header("Accept-Language", param_value.to_string());
519 }
520
521 let req = req_builder.build()?;
522 let resp = configuration.client.execute(req).await?;
523
524 let status = resp.status();
525 let content_type = resp
526 .headers()
527 .get("content-type")
528 .and_then(|v| v.to_str().ok())
529 .unwrap_or("application/octet-stream");
530 let content_type = super::ContentType::from(content_type);
531
532 if !status.is_client_error() && !status.is_server_error() {
533 let content = resp.text().await?;
534 match content_type {
535 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
536 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::Mod>`"))),
537 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::Mod>`")))),
538 }
539 } else {
540 let content = resp.text().await?;
541 let entity: Option<SearchModsDataError> = serde_json::from_str(&content).ok();
542 Err(Error::ResponseError(ResponseContent { status, content, entity }))
543 }
544}
545
546pub async fn search_warframe_data(configuration: &configuration::Configuration, query: &str, language: models::Language, only: Option<&str>, remove: Option<&str>, by: Option<&str>, accept_language: Option<models::Language>) -> Result<models::Warframe, Error<SearchWarframeDataError>> {
548 let p_path_query = query;
550 let p_query_language = language;
551 let p_query_only = only;
552 let p_query_remove = remove;
553 let p_query_by = by;
554 let p_header_accept_language = accept_language;
555
556 let uri_str = format!("{}/warframes/{query}", configuration.base_path, query=crate::apis::urlencode(p_path_query));
557 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
558
559 if let Some(ref param_value) = p_query_only {
560 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
561 }
562 if let Some(ref param_value) = p_query_remove {
563 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
564 }
565 if let Some(ref param_value) = p_query_by {
566 req_builder = req_builder.query(&[("by", ¶m_value.to_string())]);
567 }
568 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
569 if let Some(ref user_agent) = configuration.user_agent {
570 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
571 }
572 if let Some(param_value) = p_header_accept_language {
573 req_builder = req_builder.header("Accept-Language", param_value.to_string());
574 }
575
576 let req = req_builder.build()?;
577 let resp = configuration.client.execute(req).await?;
578
579 let status = resp.status();
580 let content_type = resp
581 .headers()
582 .get("content-type")
583 .and_then(|v| v.to_str().ok())
584 .unwrap_or("application/octet-stream");
585 let content_type = super::ContentType::from(content_type);
586
587 if !status.is_client_error() && !status.is_server_error() {
588 let content = resp.text().await?;
589 match content_type {
590 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
591 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Warframe`"))),
592 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Warframe`")))),
593 }
594 } else {
595 let content = resp.text().await?;
596 let entity: Option<SearchWarframeDataError> = serde_json::from_str(&content).ok();
597 Err(Error::ResponseError(ResponseContent { status, content, entity }))
598 }
599}
600
601pub async fn search_warframes_data(configuration: &configuration::Configuration, query: &str, language: models::Language, only: Option<&str>, remove: Option<&str>, by: Option<&str>, accept_language: Option<models::Language>) -> Result<Vec<models::Warframe>, Error<SearchWarframesDataError>> {
603 let p_path_query = query;
605 let p_query_language = language;
606 let p_query_only = only;
607 let p_query_remove = remove;
608 let p_query_by = by;
609 let p_header_accept_language = accept_language;
610
611 let uri_str = format!("{}/warframes/search/{query}", configuration.base_path, query=crate::apis::urlencode(p_path_query));
612 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
613
614 if let Some(ref param_value) = p_query_only {
615 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
616 }
617 if let Some(ref param_value) = p_query_remove {
618 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
619 }
620 if let Some(ref param_value) = p_query_by {
621 req_builder = req_builder.query(&[("by", ¶m_value.to_string())]);
622 }
623 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
624 if let Some(ref user_agent) = configuration.user_agent {
625 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
626 }
627 if let Some(param_value) = p_header_accept_language {
628 req_builder = req_builder.header("Accept-Language", param_value.to_string());
629 }
630
631 let req = req_builder.build()?;
632 let resp = configuration.client.execute(req).await?;
633
634 let status = resp.status();
635 let content_type = resp
636 .headers()
637 .get("content-type")
638 .and_then(|v| v.to_str().ok())
639 .unwrap_or("application/octet-stream");
640 let content_type = super::ContentType::from(content_type);
641
642 if !status.is_client_error() && !status.is_server_error() {
643 let content = resp.text().await?;
644 match content_type {
645 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
646 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::Warframe>`"))),
647 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::Warframe>`")))),
648 }
649 } else {
650 let content = resp.text().await?;
651 let entity: Option<SearchWarframesDataError> = serde_json::from_str(&content).ok();
652 Err(Error::ResponseError(ResponseContent { status, content, entity }))
653 }
654}
655
656pub async fn search_weapon_data(configuration: &configuration::Configuration, query: &str, language: models::Language, only: Option<&str>, remove: Option<&str>, by: Option<&str>, accept_language: Option<models::Language>) -> Result<models::Weapon, Error<SearchWeaponDataError>> {
658 let p_path_query = query;
660 let p_query_language = language;
661 let p_query_only = only;
662 let p_query_remove = remove;
663 let p_query_by = by;
664 let p_header_accept_language = accept_language;
665
666 let uri_str = format!("{}/weapons/{query}", configuration.base_path, query=crate::apis::urlencode(p_path_query));
667 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
668
669 if let Some(ref param_value) = p_query_only {
670 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
671 }
672 if let Some(ref param_value) = p_query_remove {
673 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
674 }
675 if let Some(ref param_value) = p_query_by {
676 req_builder = req_builder.query(&[("by", ¶m_value.to_string())]);
677 }
678 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
679 if let Some(ref user_agent) = configuration.user_agent {
680 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
681 }
682 if let Some(param_value) = p_header_accept_language {
683 req_builder = req_builder.header("Accept-Language", param_value.to_string());
684 }
685
686 let req = req_builder.build()?;
687 let resp = configuration.client.execute(req).await?;
688
689 let status = resp.status();
690 let content_type = resp
691 .headers()
692 .get("content-type")
693 .and_then(|v| v.to_str().ok())
694 .unwrap_or("application/octet-stream");
695 let content_type = super::ContentType::from(content_type);
696
697 if !status.is_client_error() && !status.is_server_error() {
698 let content = resp.text().await?;
699 match content_type {
700 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
701 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Weapon`"))),
702 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Weapon`")))),
703 }
704 } else {
705 let content = resp.text().await?;
706 let entity: Option<SearchWeaponDataError> = serde_json::from_str(&content).ok();
707 Err(Error::ResponseError(ResponseContent { status, content, entity }))
708 }
709}
710
711pub async fn search_weapons_data(configuration: &configuration::Configuration, query: &str, language: models::Language, only: Option<&str>, remove: Option<&str>, by: Option<&str>, accept_language: Option<models::Language>) -> Result<Vec<models::WeaponsInner>, Error<SearchWeaponsDataError>> {
713 let p_path_query = query;
715 let p_query_language = language;
716 let p_query_only = only;
717 let p_query_remove = remove;
718 let p_query_by = by;
719 let p_header_accept_language = accept_language;
720
721 let uri_str = format!("{}/weapons/search/{query}", configuration.base_path, query=crate::apis::urlencode(p_path_query));
722 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
723
724 if let Some(ref param_value) = p_query_only {
725 req_builder = req_builder.query(&[("only", ¶m_value.to_string())]);
726 }
727 if let Some(ref param_value) = p_query_remove {
728 req_builder = req_builder.query(&[("remove", ¶m_value.to_string())]);
729 }
730 if let Some(ref param_value) = p_query_by {
731 req_builder = req_builder.query(&[("by", ¶m_value.to_string())]);
732 }
733 req_builder = req_builder.query(&[("language", &p_query_language.to_string())]);
734 if let Some(ref user_agent) = configuration.user_agent {
735 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
736 }
737 if let Some(param_value) = p_header_accept_language {
738 req_builder = req_builder.header("Accept-Language", param_value.to_string());
739 }
740
741 let req = req_builder.build()?;
742 let resp = configuration.client.execute(req).await?;
743
744 let status = resp.status();
745 let content_type = resp
746 .headers()
747 .get("content-type")
748 .and_then(|v| v.to_str().ok())
749 .unwrap_or("application/octet-stream");
750 let content_type = super::ContentType::from(content_type);
751
752 if !status.is_client_error() && !status.is_server_error() {
753 let content = resp.text().await?;
754 match content_type {
755 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
756 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::WeaponsInner>`"))),
757 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::WeaponsInner>`")))),
758 }
759 } else {
760 let content = resp.text().await?;
761 let entity: Option<SearchWeaponsDataError> = serde_json::from_str(&content).ok();
762 Err(Error::ResponseError(ResponseContent { status, content, entity }))
763 }
764}
765