1use reqwest;
10
11use crate::apis::ResponseContent;
12use super::{Error, configuration};
13
14#[derive(Clone, Debug, Default)]
16pub struct CreateLogAwsS3Params {
17 pub service_id: String,
19 pub version_id: i32,
21 pub name: Option<String>,
23 pub placement: Option<String>,
25 pub response_condition: Option<String>,
27 pub format: Option<String>,
29 pub log_processing_region: Option<String>,
31 pub format_version: Option<i32>,
33 pub message_type: Option<String>,
35 pub timestamp_format: Option<String>,
37 pub compression_codec: Option<String>,
39 pub period: Option<i32>,
41 pub gzip_level: Option<i32>,
43 pub access_key: Option<String>,
45 pub acl: Option<String>,
47 pub bucket_name: Option<String>,
49 pub domain: Option<String>,
51 pub iam_role: Option<String>,
53 pub path: Option<String>,
55 pub public_key: Option<String>,
57 pub redundancy: Option<String>,
59 pub secret_key: Option<String>,
61 pub server_side_encryption_kms_key_id: Option<String>,
63 pub server_side_encryption: Option<String>,
65 pub file_max_bytes: Option<i32>
67}
68
69#[derive(Clone, Debug, Default)]
71pub struct DeleteLogAwsS3Params {
72 pub service_id: String,
74 pub version_id: i32,
76 pub logging_s3_name: String
78}
79
80#[derive(Clone, Debug, Default)]
82pub struct GetLogAwsS3Params {
83 pub service_id: String,
85 pub version_id: i32,
87 pub logging_s3_name: String
89}
90
91#[derive(Clone, Debug, Default)]
93pub struct ListLogAwsS3Params {
94 pub service_id: String,
96 pub version_id: i32
98}
99
100#[derive(Clone, Debug, Default)]
102pub struct UpdateLogAwsS3Params {
103 pub service_id: String,
105 pub version_id: i32,
107 pub logging_s3_name: String,
109 pub name: Option<String>,
111 pub placement: Option<String>,
113 pub response_condition: Option<String>,
115 pub format: Option<String>,
117 pub log_processing_region: Option<String>,
119 pub format_version: Option<i32>,
121 pub message_type: Option<String>,
123 pub timestamp_format: Option<String>,
125 pub compression_codec: Option<String>,
127 pub period: Option<i32>,
129 pub gzip_level: Option<i32>,
131 pub access_key: Option<String>,
133 pub acl: Option<String>,
135 pub bucket_name: Option<String>,
137 pub domain: Option<String>,
139 pub iam_role: Option<String>,
141 pub path: Option<String>,
143 pub public_key: Option<String>,
145 pub redundancy: Option<String>,
147 pub secret_key: Option<String>,
149 pub server_side_encryption_kms_key_id: Option<String>,
151 pub server_side_encryption: Option<String>,
153 pub file_max_bytes: Option<i32>
155}
156
157
158#[derive(Debug, Clone, Serialize, Deserialize)]
160#[serde(untagged)]
161pub enum CreateLogAwsS3Error {
162 UnknownValue(serde_json::Value),
163}
164
165#[derive(Debug, Clone, Serialize, Deserialize)]
167#[serde(untagged)]
168pub enum DeleteLogAwsS3Error {
169 UnknownValue(serde_json::Value),
170}
171
172#[derive(Debug, Clone, Serialize, Deserialize)]
174#[serde(untagged)]
175pub enum GetLogAwsS3Error {
176 UnknownValue(serde_json::Value),
177}
178
179#[derive(Debug, Clone, Serialize, Deserialize)]
181#[serde(untagged)]
182pub enum ListLogAwsS3Error {
183 UnknownValue(serde_json::Value),
184}
185
186#[derive(Debug, Clone, Serialize, Deserialize)]
188#[serde(untagged)]
189pub enum UpdateLogAwsS3Error {
190 UnknownValue(serde_json::Value),
191}
192
193
194pub async fn create_log_aws_s3(configuration: &mut configuration::Configuration, params: CreateLogAwsS3Params) -> Result<crate::models::LoggingS3Response, Error<CreateLogAwsS3Error>> {
196 let local_var_configuration = configuration;
197
198 let service_id = params.service_id;
200 let version_id = params.version_id;
201 let name = params.name;
202 let placement = params.placement;
203 let response_condition = params.response_condition;
204 let format = params.format;
205 let log_processing_region = params.log_processing_region;
206 let format_version = params.format_version;
207 let message_type = params.message_type;
208 let timestamp_format = params.timestamp_format;
209 let compression_codec = params.compression_codec;
210 let period = params.period;
211 let gzip_level = params.gzip_level;
212 let access_key = params.access_key;
213 let acl = params.acl;
214 let bucket_name = params.bucket_name;
215 let domain = params.domain;
216 let iam_role = params.iam_role;
217 let path = params.path;
218 let public_key = params.public_key;
219 let redundancy = params.redundancy;
220 let secret_key = params.secret_key;
221 let server_side_encryption_kms_key_id = params.server_side_encryption_kms_key_id;
222 let server_side_encryption = params.server_side_encryption;
223 let file_max_bytes = params.file_max_bytes;
224
225
226 let local_var_client = &local_var_configuration.client;
227
228 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/s3", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id);
229 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
230
231 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
232 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
233 }
234 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
235 let local_var_key = local_var_apikey.key.clone();
236 let local_var_value = match local_var_apikey.prefix {
237 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
238 None => local_var_key,
239 };
240 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
241 };
242 let mut local_var_form_params = std::collections::HashMap::new();
243 if let Some(local_var_param_value) = name {
244 local_var_form_params.insert("name", local_var_param_value.to_string());
245 }
246 if let Some(local_var_param_value) = placement {
247 local_var_form_params.insert("placement", local_var_param_value.to_string());
248 }
249 if let Some(local_var_param_value) = response_condition {
250 local_var_form_params.insert("response_condition", local_var_param_value.to_string());
251 }
252 if let Some(local_var_param_value) = format {
253 local_var_form_params.insert("format", local_var_param_value.to_string());
254 }
255 if let Some(local_var_param_value) = log_processing_region {
256 local_var_form_params.insert("log_processing_region", local_var_param_value.to_string());
257 }
258 if let Some(local_var_param_value) = format_version {
259 local_var_form_params.insert("format_version", local_var_param_value.to_string());
260 }
261 if let Some(local_var_param_value) = message_type {
262 local_var_form_params.insert("message_type", local_var_param_value.to_string());
263 }
264 if let Some(local_var_param_value) = timestamp_format {
265 local_var_form_params.insert("timestamp_format", local_var_param_value.to_string());
266 }
267 if let Some(local_var_param_value) = compression_codec {
268 local_var_form_params.insert("compression_codec", local_var_param_value.to_string());
269 }
270 if let Some(local_var_param_value) = period {
271 local_var_form_params.insert("period", local_var_param_value.to_string());
272 }
273 if let Some(local_var_param_value) = gzip_level {
274 local_var_form_params.insert("gzip_level", local_var_param_value.to_string());
275 }
276 if let Some(local_var_param_value) = access_key {
277 local_var_form_params.insert("access_key", local_var_param_value.to_string());
278 }
279 if let Some(local_var_param_value) = acl {
280 local_var_form_params.insert("acl", local_var_param_value.to_string());
281 }
282 if let Some(local_var_param_value) = bucket_name {
283 local_var_form_params.insert("bucket_name", local_var_param_value.to_string());
284 }
285 if let Some(local_var_param_value) = domain {
286 local_var_form_params.insert("domain", local_var_param_value.to_string());
287 }
288 if let Some(local_var_param_value) = iam_role {
289 local_var_form_params.insert("iam_role", local_var_param_value.to_string());
290 }
291 if let Some(local_var_param_value) = path {
292 local_var_form_params.insert("path", local_var_param_value.to_string());
293 }
294 if let Some(local_var_param_value) = public_key {
295 local_var_form_params.insert("public_key", local_var_param_value.to_string());
296 }
297 if let Some(local_var_param_value) = redundancy {
298 local_var_form_params.insert("redundancy", local_var_param_value.to_string());
299 }
300 if let Some(local_var_param_value) = secret_key {
301 local_var_form_params.insert("secret_key", local_var_param_value.to_string());
302 }
303 if let Some(local_var_param_value) = server_side_encryption_kms_key_id {
304 local_var_form_params.insert("server_side_encryption_kms_key_id", local_var_param_value.to_string());
305 }
306 if let Some(local_var_param_value) = server_side_encryption {
307 local_var_form_params.insert("server_side_encryption", local_var_param_value.to_string());
308 }
309 if let Some(local_var_param_value) = file_max_bytes {
310 local_var_form_params.insert("file_max_bytes", local_var_param_value.to_string());
311 }
312 local_var_req_builder = local_var_req_builder.form(&local_var_form_params);
313
314 let local_var_req = local_var_req_builder.build()?;
315 let local_var_resp = local_var_client.execute(local_var_req).await?;
316
317 if "POST" != "GET" && "POST" != "HEAD" {
318 let headers = local_var_resp.headers();
319 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
320 Some(v) => v.to_str().unwrap().parse().unwrap(),
321 None => configuration::DEFAULT_RATELIMIT,
322 };
323 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
324 Some(v) => v.to_str().unwrap().parse().unwrap(),
325 None => 0,
326 };
327 }
328
329 let local_var_status = local_var_resp.status();
330 let local_var_content = local_var_resp.text().await?;
331
332 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
333 serde_json::from_str(&local_var_content).map_err(Error::from)
334 } else {
335 let local_var_entity: Option<CreateLogAwsS3Error> = serde_json::from_str(&local_var_content).ok();
336 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
337 Err(Error::ResponseError(local_var_error))
338 }
339}
340
341pub async fn delete_log_aws_s3(configuration: &mut configuration::Configuration, params: DeleteLogAwsS3Params) -> Result<crate::models::InlineResponse200, Error<DeleteLogAwsS3Error>> {
343 let local_var_configuration = configuration;
344
345 let service_id = params.service_id;
347 let version_id = params.version_id;
348 let logging_s3_name = params.logging_s3_name;
349
350
351 let local_var_client = &local_var_configuration.client;
352
353 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/s3/{logging_s3_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, logging_s3_name=crate::apis::urlencode(logging_s3_name));
354 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
355
356 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
357 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
358 }
359 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
360 let local_var_key = local_var_apikey.key.clone();
361 let local_var_value = match local_var_apikey.prefix {
362 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
363 None => local_var_key,
364 };
365 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
366 };
367
368 let local_var_req = local_var_req_builder.build()?;
369 let local_var_resp = local_var_client.execute(local_var_req).await?;
370
371 if "DELETE" != "GET" && "DELETE" != "HEAD" {
372 let headers = local_var_resp.headers();
373 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
374 Some(v) => v.to_str().unwrap().parse().unwrap(),
375 None => configuration::DEFAULT_RATELIMIT,
376 };
377 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
378 Some(v) => v.to_str().unwrap().parse().unwrap(),
379 None => 0,
380 };
381 }
382
383 let local_var_status = local_var_resp.status();
384 let local_var_content = local_var_resp.text().await?;
385
386 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
387 serde_json::from_str(&local_var_content).map_err(Error::from)
388 } else {
389 let local_var_entity: Option<DeleteLogAwsS3Error> = serde_json::from_str(&local_var_content).ok();
390 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
391 Err(Error::ResponseError(local_var_error))
392 }
393}
394
395pub async fn get_log_aws_s3(configuration: &mut configuration::Configuration, params: GetLogAwsS3Params) -> Result<crate::models::LoggingS3Response, Error<GetLogAwsS3Error>> {
397 let local_var_configuration = configuration;
398
399 let service_id = params.service_id;
401 let version_id = params.version_id;
402 let logging_s3_name = params.logging_s3_name;
403
404
405 let local_var_client = &local_var_configuration.client;
406
407 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/s3/{logging_s3_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, logging_s3_name=crate::apis::urlencode(logging_s3_name));
408 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
409
410 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
411 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
412 }
413 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
414 let local_var_key = local_var_apikey.key.clone();
415 let local_var_value = match local_var_apikey.prefix {
416 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
417 None => local_var_key,
418 };
419 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
420 };
421
422 let local_var_req = local_var_req_builder.build()?;
423 let local_var_resp = local_var_client.execute(local_var_req).await?;
424
425 if "GET" != "GET" && "GET" != "HEAD" {
426 let headers = local_var_resp.headers();
427 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
428 Some(v) => v.to_str().unwrap().parse().unwrap(),
429 None => configuration::DEFAULT_RATELIMIT,
430 };
431 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
432 Some(v) => v.to_str().unwrap().parse().unwrap(),
433 None => 0,
434 };
435 }
436
437 let local_var_status = local_var_resp.status();
438 let local_var_content = local_var_resp.text().await?;
439
440 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
441 serde_json::from_str(&local_var_content).map_err(Error::from)
442 } else {
443 let local_var_entity: Option<GetLogAwsS3Error> = serde_json::from_str(&local_var_content).ok();
444 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
445 Err(Error::ResponseError(local_var_error))
446 }
447}
448
449pub async fn list_log_aws_s3(configuration: &mut configuration::Configuration, params: ListLogAwsS3Params) -> Result<Vec<crate::models::LoggingS3Response>, Error<ListLogAwsS3Error>> {
451 let local_var_configuration = configuration;
452
453 let service_id = params.service_id;
455 let version_id = params.version_id;
456
457
458 let local_var_client = &local_var_configuration.client;
459
460 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/s3", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id);
461 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
462
463 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
464 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
465 }
466 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
467 let local_var_key = local_var_apikey.key.clone();
468 let local_var_value = match local_var_apikey.prefix {
469 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
470 None => local_var_key,
471 };
472 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
473 };
474
475 let local_var_req = local_var_req_builder.build()?;
476 let local_var_resp = local_var_client.execute(local_var_req).await?;
477
478 if "GET" != "GET" && "GET" != "HEAD" {
479 let headers = local_var_resp.headers();
480 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
481 Some(v) => v.to_str().unwrap().parse().unwrap(),
482 None => configuration::DEFAULT_RATELIMIT,
483 };
484 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
485 Some(v) => v.to_str().unwrap().parse().unwrap(),
486 None => 0,
487 };
488 }
489
490 let local_var_status = local_var_resp.status();
491 let local_var_content = local_var_resp.text().await?;
492
493 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
494 serde_json::from_str(&local_var_content).map_err(Error::from)
495 } else {
496 let local_var_entity: Option<ListLogAwsS3Error> = serde_json::from_str(&local_var_content).ok();
497 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
498 Err(Error::ResponseError(local_var_error))
499 }
500}
501
502pub async fn update_log_aws_s3(configuration: &mut configuration::Configuration, params: UpdateLogAwsS3Params) -> Result<crate::models::LoggingS3Response, Error<UpdateLogAwsS3Error>> {
504 let local_var_configuration = configuration;
505
506 let service_id = params.service_id;
508 let version_id = params.version_id;
509 let logging_s3_name = params.logging_s3_name;
510 let name = params.name;
511 let placement = params.placement;
512 let response_condition = params.response_condition;
513 let format = params.format;
514 let log_processing_region = params.log_processing_region;
515 let format_version = params.format_version;
516 let message_type = params.message_type;
517 let timestamp_format = params.timestamp_format;
518 let compression_codec = params.compression_codec;
519 let period = params.period;
520 let gzip_level = params.gzip_level;
521 let access_key = params.access_key;
522 let acl = params.acl;
523 let bucket_name = params.bucket_name;
524 let domain = params.domain;
525 let iam_role = params.iam_role;
526 let path = params.path;
527 let public_key = params.public_key;
528 let redundancy = params.redundancy;
529 let secret_key = params.secret_key;
530 let server_side_encryption_kms_key_id = params.server_side_encryption_kms_key_id;
531 let server_side_encryption = params.server_side_encryption;
532 let file_max_bytes = params.file_max_bytes;
533
534
535 let local_var_client = &local_var_configuration.client;
536
537 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/s3/{logging_s3_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, logging_s3_name=crate::apis::urlencode(logging_s3_name));
538 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
539
540 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
541 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
542 }
543 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
544 let local_var_key = local_var_apikey.key.clone();
545 let local_var_value = match local_var_apikey.prefix {
546 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
547 None => local_var_key,
548 };
549 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
550 };
551 let mut local_var_form_params = std::collections::HashMap::new();
552 if let Some(local_var_param_value) = name {
553 local_var_form_params.insert("name", local_var_param_value.to_string());
554 }
555 if let Some(local_var_param_value) = placement {
556 local_var_form_params.insert("placement", local_var_param_value.to_string());
557 }
558 if let Some(local_var_param_value) = response_condition {
559 local_var_form_params.insert("response_condition", local_var_param_value.to_string());
560 }
561 if let Some(local_var_param_value) = format {
562 local_var_form_params.insert("format", local_var_param_value.to_string());
563 }
564 if let Some(local_var_param_value) = log_processing_region {
565 local_var_form_params.insert("log_processing_region", local_var_param_value.to_string());
566 }
567 if let Some(local_var_param_value) = format_version {
568 local_var_form_params.insert("format_version", local_var_param_value.to_string());
569 }
570 if let Some(local_var_param_value) = message_type {
571 local_var_form_params.insert("message_type", local_var_param_value.to_string());
572 }
573 if let Some(local_var_param_value) = timestamp_format {
574 local_var_form_params.insert("timestamp_format", local_var_param_value.to_string());
575 }
576 if let Some(local_var_param_value) = compression_codec {
577 local_var_form_params.insert("compression_codec", local_var_param_value.to_string());
578 }
579 if let Some(local_var_param_value) = period {
580 local_var_form_params.insert("period", local_var_param_value.to_string());
581 }
582 if let Some(local_var_param_value) = gzip_level {
583 local_var_form_params.insert("gzip_level", local_var_param_value.to_string());
584 }
585 if let Some(local_var_param_value) = access_key {
586 local_var_form_params.insert("access_key", local_var_param_value.to_string());
587 }
588 if let Some(local_var_param_value) = acl {
589 local_var_form_params.insert("acl", local_var_param_value.to_string());
590 }
591 if let Some(local_var_param_value) = bucket_name {
592 local_var_form_params.insert("bucket_name", local_var_param_value.to_string());
593 }
594 if let Some(local_var_param_value) = domain {
595 local_var_form_params.insert("domain", local_var_param_value.to_string());
596 }
597 if let Some(local_var_param_value) = iam_role {
598 local_var_form_params.insert("iam_role", local_var_param_value.to_string());
599 }
600 if let Some(local_var_param_value) = path {
601 local_var_form_params.insert("path", local_var_param_value.to_string());
602 }
603 if let Some(local_var_param_value) = public_key {
604 local_var_form_params.insert("public_key", local_var_param_value.to_string());
605 }
606 if let Some(local_var_param_value) = redundancy {
607 local_var_form_params.insert("redundancy", local_var_param_value.to_string());
608 }
609 if let Some(local_var_param_value) = secret_key {
610 local_var_form_params.insert("secret_key", local_var_param_value.to_string());
611 }
612 if let Some(local_var_param_value) = server_side_encryption_kms_key_id {
613 local_var_form_params.insert("server_side_encryption_kms_key_id", local_var_param_value.to_string());
614 }
615 if let Some(local_var_param_value) = server_side_encryption {
616 local_var_form_params.insert("server_side_encryption", local_var_param_value.to_string());
617 }
618 if let Some(local_var_param_value) = file_max_bytes {
619 local_var_form_params.insert("file_max_bytes", local_var_param_value.to_string());
620 }
621 local_var_req_builder = local_var_req_builder.form(&local_var_form_params);
622
623 let local_var_req = local_var_req_builder.build()?;
624 let local_var_resp = local_var_client.execute(local_var_req).await?;
625
626 if "PUT" != "GET" && "PUT" != "HEAD" {
627 let headers = local_var_resp.headers();
628 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
629 Some(v) => v.to_str().unwrap().parse().unwrap(),
630 None => configuration::DEFAULT_RATELIMIT,
631 };
632 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
633 Some(v) => v.to_str().unwrap().parse().unwrap(),
634 None => 0,
635 };
636 }
637
638 let local_var_status = local_var_resp.status();
639 let local_var_content = local_var_resp.text().await?;
640
641 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
642 serde_json::from_str(&local_var_content).map_err(Error::from)
643 } else {
644 let local_var_entity: Option<UpdateLogAwsS3Error> = serde_json::from_str(&local_var_content).ok();
645 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
646 Err(Error::ResponseError(local_var_error))
647 }
648}
649