From 3b7b2cd37b336a9ed21bd800618c9d49f1087d78 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Wed, 26 Jun 2024 10:41:55 +0200 Subject: [PATCH] aws: rely on WaitError Display implementation The Display implementation of WaitError already displays the underlying SDK error and the metadata, so can just use that. Will also be used to provide more context in the next patch. Part-of: --- net/aws/src/s3sink/multipartsink.rs | 25 ++++++++++++------------- net/aws/src/s3sink/putobjectsink.rs | 7 +++---- net/aws/src/s3src/imp.rs | 13 ++++++------- 3 files changed, 21 insertions(+), 24 deletions(-) diff --git a/net/aws/src/s3sink/multipartsink.rs b/net/aws/src/s3sink/multipartsink.rs index 1eb17ea6..850c39af 100644 --- a/net/aws/src/s3sink/multipartsink.rs +++ b/net/aws/src/s3sink/multipartsink.rs @@ -14,7 +14,6 @@ use gst_base::subclass::prelude::*; use aws_sdk_s3::{ config::{self, retry::RetryConfig, Credentials, Region}, - error::ProvideErrorMetadata, operation::{ abort_multipart_upload::builders::AbortMultipartUploadFluentBuilder, complete_multipart_upload::builders::CompleteMultipartUploadFluentBuilder, @@ -269,12 +268,12 @@ impl S3Sink { let upload_part_req_future = upload_part_req.send(); let output = - s3utils::wait(&self.canceller, upload_part_req_future).map_err(|err| match err { - WaitError::FutureError(err) => { + s3utils::wait(&self.canceller, upload_part_req_future).map_err(|err| match &err { + WaitError::FutureError(_) => { self.flush_multipart_upload(state); Some(gst::error_msg!( gst::ResourceError::OpenWrite, - ["Failed to upload part: {err}: {}", err.meta()] + ["Failed to upload part: {err}"] )) } WaitError::Cancelled => None, @@ -418,11 +417,11 @@ impl S3Sink { s3utils::wait(&self.abort_multipart_canceller, abort_req_future) .map(|_| ()) - .map_err(|err| match err { - WaitError::FutureError(err) => { + .map_err(|err| match &err { + WaitError::FutureError(_) => { gst::error_msg!( gst::ResourceError::Write, - ["Failed to abort multipart upload: {err}: {}", err.meta()] + ["Failed to abort multipart upload: {err}"] ) } WaitError::Cancelled => { @@ -443,10 +442,10 @@ impl S3Sink { s3utils::wait(&self.canceller, complete_req_future) .map(|_| ()) - .map_err(|err| match err { - WaitError::FutureError(err) => gst::error_msg!( + .map_err(|err| match &err { + WaitError::FutureError(_) => gst::error_msg!( gst::ResourceError::Write, - ["Failed to complete multipart upload: {err}: {}", err.meta()] + ["Failed to complete multipart upload: {err}"] ), WaitError::Cancelled => { gst::error_msg!( @@ -554,10 +553,10 @@ impl S3Sink { let create_multipart_req_future = create_multipart_req.send(); let response = s3utils::wait(&self.canceller, create_multipart_req_future).map_err( - |err| match err { - WaitError::FutureError(err) => gst::error_msg!( + |err| match &err { + WaitError::FutureError(_) => gst::error_msg!( gst::ResourceError::OpenWrite, - ["Failed to create multipart upload: {err}: {}", err.meta()] + ["Failed to create multipart upload: {err}"] ), WaitError::Cancelled => { gst::error_msg!( diff --git a/net/aws/src/s3sink/putobjectsink.rs b/net/aws/src/s3sink/putobjectsink.rs index e82661f0..934e8180 100644 --- a/net/aws/src/s3sink/putobjectsink.rs +++ b/net/aws/src/s3sink/putobjectsink.rs @@ -15,7 +15,6 @@ use gst_base::subclass::prelude::*; use aws_sdk_s3::{ config::{self, retry::RetryConfig, Credentials, Region}, - error::ProvideErrorMetadata, operation::put_object::builders::PutObjectFluentBuilder, primitives::ByteStream, Client, @@ -208,10 +207,10 @@ impl S3PutObjectSink { let put_object_req_future = put_object_req.send(); let _output = - s3utils::wait(&self.canceller, put_object_req_future).map_err(|err| match err { - WaitError::FutureError(err) => Some(gst::error_msg!( + s3utils::wait(&self.canceller, put_object_req_future).map_err(|err| match &err { + WaitError::FutureError(_) => Some(gst::error_msg!( gst::ResourceError::OpenWrite, - ["Failed to upload object: {err}: {}", err.meta()] + ["Failed to upload object: {err}"] )), WaitError::Cancelled => None, })?; diff --git a/net/aws/src/s3src/imp.rs b/net/aws/src/s3src/imp.rs index 40b85696..811f4dd2 100644 --- a/net/aws/src/s3src/imp.rs +++ b/net/aws/src/s3src/imp.rs @@ -13,7 +13,6 @@ use std::time::Duration; use aws_sdk_s3::{ config::{self, retry::RetryConfig, Credentials}, - error::ProvideErrorMetadata, Client, }; @@ -177,10 +176,10 @@ impl S3Src { let head_object_future = head_object.send(); let output = - s3utils::wait(&self.canceller, head_object_future).map_err(|err| match err { - WaitError::FutureError(err) => gst::error_msg!( + s3utils::wait(&self.canceller, head_object_future).map_err(|err| match &err { + WaitError::FutureError(_) => gst::error_msg!( gst::ResourceError::NotFound, - ["Failed to get HEAD object: {err}: {}", err.meta()] + ["Failed to get HEAD object: {err}"] ), WaitError::Cancelled => { gst::error_msg!( @@ -236,10 +235,10 @@ impl S3Src { let get_object_future = get_object.send(); let mut output = - s3utils::wait(&self.canceller, get_object_future).map_err(|err| match err { - WaitError::FutureError(err) => Some(gst::error_msg!( + s3utils::wait(&self.canceller, get_object_future).map_err(|err| match &err { + WaitError::FutureError(_) => Some(gst::error_msg!( gst::ResourceError::Read, - ["Could not read: {err}: {}", err.meta()] + ["Could not read: {err}"] )), WaitError::Cancelled => None, })?;