File tree Expand file tree Collapse file tree 2 files changed +10
-23
lines changed
sources/api/apiclient/src Expand file tree Collapse file tree 2 files changed +10
-23
lines changed Original file line number Diff line number Diff line change @@ -273,6 +273,7 @@ mod resolver_selection_tests {
273273 #[ test_case( "s3://mybucket/path" , TypeId :: of:: <crate :: uri_resolver:: S3Uri >( ) ; "s3" ) ]
274274 #[ test_case( "secretsmanager://sec" , TypeId :: of:: <crate :: uri_resolver:: SecretsManagerUri >( ) ; "secrets" ) ]
275275 #[ test_case( "ssm://param" , TypeId :: of:: <crate :: uri_resolver:: SsmUri >( ) ; "ssm" ) ]
276+
276277 fn resolver_selection ( input : & str , expected : std:: any:: TypeId ) {
277278 let settings = SettingsInput :: new ( input) ;
278279 let resolver = select_resolver ( & settings) . expect ( "should have a resolver for this scheme" ) ;
Original file line number Diff line number Diff line change @@ -169,30 +169,16 @@ impl TryFrom<&SettingsInput> for S3Uri {
169169 use resolver_error:: * ;
170170 const PREFIX : & str = "s3://" ;
171171 let uri_str = input. input . as_str ( ) ;
172- ensure ! (
173- uri_str. starts_with( PREFIX ) ,
174- S3UriSchemeSnafu {
175- input_source: input. input. clone( )
176- }
177- ) ;
178-
179- let remainder = & uri_str[ PREFIX . len ( ) ..] ;
172+ let remainder = uri_str. strip_prefix ( PREFIX ) . context ( S3UriSchemeSnafu {
173+ input_source : input. input . clone ( ) ,
174+ } ) ?;
180175 let mut parts = remainder. splitn ( 2 , '/' ) ;
181- let bucket = parts. next ( ) . unwrap_or ( "" ) ;
182- let key = parts. next ( ) . unwrap_or ( "" ) ;
183-
184- ensure ! (
185- !bucket. is_empty( ) ,
186- S3UriMissingBucketSnafu {
187- input_source: input. input. clone( )
188- }
189- ) ;
190- ensure ! (
191- !key. is_empty( ) ,
192- S3UriMissingKeySnafu {
193- input_source: input. input. clone( )
194- }
195- ) ;
176+ let bucket = parts. next ( ) . context ( S3UriMissingBucketSnafu {
177+ input_source : input. input . clone ( ) ,
178+ } ) ?;
179+ let key = parts. next ( ) . context ( S3UriMissingKeySnafu {
180+ input_source : input. input . clone ( ) ,
181+ } ) ?;
196182
197183 Ok ( S3Uri {
198184 bucket : bucket. to_string ( ) ,
You can’t perform that action at this time.
0 commit comments