@@ -178,20 +178,24 @@ impl Service<Request<Incoming>> for WrappingService {
178178 let cors = self . cors . clone ( ) ;
179179 let driver_ctx = self . driver_ctx . clone ( ) ;
180180 Box :: pin ( async move {
181- let bucket_cors = match load_bucket_cors_config ( driver_ctx, bucket) . await {
182- Ok ( bucket_cors) => bucket_cors,
183- Err ( error) => {
184- span. record ( "status_code" , 500 ) ;
185- let _guard = span. enter ( ) ;
186- error ! (
187- event = "request.failed" ,
188- protocol = "s3" ,
189- latency_ms = started. elapsed( ) . as_millis( ) as u64 ,
190- error = ?error,
191- "Failed to query bucket CORS configuration"
192- ) ;
193- return Err ( HttpError :: new ( error. into ( ) ) ) ;
181+ let bucket_cors = if origin_header. is_some ( ) {
182+ match load_bucket_cors_config ( driver_ctx, bucket) . await {
183+ Ok ( bucket_cors) => bucket_cors,
184+ Err ( error) => {
185+ span. record ( "status_code" , 500 ) ;
186+ let _guard = span. enter ( ) ;
187+ error ! (
188+ event = "request.failed" ,
189+ protocol = "s3" ,
190+ latency_ms = started. elapsed( ) . as_millis( ) as u64 ,
191+ error = ?error,
192+ "Failed to query bucket CORS configuration"
193+ ) ;
194+ return Err ( HttpError :: new ( error. into ( ) ) ) ;
195+ }
194196 }
197+ } else {
198+ None
195199 } ;
196200
197201 // Answer CORS preflight before s3s signature validation: an unsigned
0 commit comments