Send CORS headers for all requests
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing

This commit is contained in:
Quentin 2022-06-13 10:13:31 +02:00
parent 138e13071b
commit d544a0e0e0
Signed by: quentin
GPG key ID: E9602264D639FF68

View file

@ -4,7 +4,7 @@ use async_trait::async_trait;
use futures::future::Future; use futures::future::Future;
use hyper::header; use hyper::header;
use hyper::{Body, Method, Request, Response}; use hyper::{Body, Request, Response};
use opentelemetry::{trace::SpanRef, KeyValue}; use opentelemetry::{trace::SpanRef, KeyValue};
@ -167,14 +167,7 @@ impl ApiHandler for S3ApiServer {
return Err(Error::forbidden("Operation is not allowed for this key.")); return Err(Error::forbidden("Operation is not allowed for this key."));
} }
// Look up what CORS rule might apply to response. let matching_cors_rule = find_matching_cors_rule(&bucket, &req)?;
// Requests for methods different than GET, HEAD or POST
// are always preflighted, i.e. the browser should make
// an OPTIONS call before to check it is allowed
let matching_cors_rule = match *req.method() {
Method::GET | Method::HEAD | Method::POST => find_matching_cors_rule(&bucket, &req)?,
_ => None,
};
let resp = match endpoint { let resp = match endpoint {
Endpoint::HeadObject { Endpoint::HeadObject {