Skip to content

Commit 32ee3a6

Browse files
committed
fix: skip bucket CORS lookup without origin
1 parent 5a452ff commit 32ee3a6

1 file changed

Lines changed: 17 additions & 13 deletions

File tree

api/src/s3/s3_server.rs

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)