mirror of
https://github.com/versity/versitygw.git
synced 2026-09-22 07:54:14 +00:00
change cors check order ; test
This commit is contained in:
+6
-6
@@ -209,11 +209,11 @@ func (sa *S3ApiRouter) Init() {
|
||||
metrics.ActionPutBucketOwnershipControls,
|
||||
services,
|
||||
middlewares.BucketObjectNameValidator(),
|
||||
applyBucketCORS,
|
||||
middlewares.AuthorizePublicBucketAccess(sa.be, metrics.ActionPutBucketOwnershipControls, auth.PutBucketOwnershipControlsAction, auth.PermissionWrite, sa.region, false),
|
||||
middlewares.VerifyPresignedV4Signature(sa.root, sa.iam, sa.region, false),
|
||||
middlewares.VerifyV4Signature(sa.root, sa.iam, sa.region, false, true, false),
|
||||
middlewares.VerifyChecksums(false, true, false),
|
||||
applyBucketCORS,
|
||||
middlewares.ParseAcl(sa.be),
|
||||
))
|
||||
bucketRouter.Put("",
|
||||
@@ -223,11 +223,11 @@ func (sa *S3ApiRouter) Init() {
|
||||
metrics.ActionPutBucketVersioning,
|
||||
services,
|
||||
middlewares.BucketObjectNameValidator(),
|
||||
applyBucketCORS,
|
||||
middlewares.AuthorizePublicBucketAccess(sa.be, metrics.ActionPutBucketVersioning, auth.PutBucketVersioningAction, auth.PermissionWrite, sa.region, false),
|
||||
middlewares.VerifyPresignedV4Signature(sa.root, sa.iam, sa.region, false),
|
||||
middlewares.VerifyV4Signature(sa.root, sa.iam, sa.region, false, true, false),
|
||||
middlewares.VerifyChecksums(false, true, false),
|
||||
applyBucketCORS,
|
||||
middlewares.ParseAcl(sa.be),
|
||||
))
|
||||
bucketRouter.Put("",
|
||||
@@ -237,11 +237,11 @@ func (sa *S3ApiRouter) Init() {
|
||||
metrics.ActionPutObjectLockConfiguration,
|
||||
services,
|
||||
middlewares.BucketObjectNameValidator(),
|
||||
applyBucketCORS,
|
||||
middlewares.AuthorizePublicBucketAccess(sa.be, metrics.ActionPutObjectLockConfiguration, auth.PutBucketObjectLockConfigurationAction, auth.PermissionWrite, sa.region, false),
|
||||
middlewares.VerifyPresignedV4Signature(sa.root, sa.iam, sa.region, false),
|
||||
middlewares.VerifyV4Signature(sa.root, sa.iam, sa.region, false, true, false),
|
||||
middlewares.VerifyChecksums(false, true, true),
|
||||
applyBucketCORS,
|
||||
middlewares.ParseAcl(sa.be),
|
||||
))
|
||||
bucketRouter.Put("",
|
||||
@@ -251,11 +251,11 @@ func (sa *S3ApiRouter) Init() {
|
||||
metrics.ActionPutBucketCors,
|
||||
services,
|
||||
middlewares.BucketObjectNameValidator(),
|
||||
applyBucketCORS,
|
||||
middlewares.AuthorizePublicBucketAccess(sa.be, metrics.ActionPutBucketCors, auth.PutBucketCorsAction, auth.PermissionWrite, sa.region, false),
|
||||
middlewares.VerifyPresignedV4Signature(sa.root, sa.iam, sa.region, false),
|
||||
middlewares.VerifyV4Signature(sa.root, sa.iam, sa.region, false, true, false),
|
||||
middlewares.VerifyChecksums(false, true, true),
|
||||
applyBucketCORS,
|
||||
middlewares.ParseAcl(sa.be),
|
||||
))
|
||||
bucketRouter.Put("",
|
||||
@@ -265,11 +265,11 @@ func (sa *S3ApiRouter) Init() {
|
||||
metrics.ActionPutBucketPolicy,
|
||||
services,
|
||||
middlewares.BucketObjectNameValidator(),
|
||||
applyBucketCORS,
|
||||
middlewares.AuthorizePublicBucketAccess(sa.be, metrics.ActionPutBucketPolicy, auth.PutBucketPolicyAction, auth.PermissionWrite, sa.region, false),
|
||||
middlewares.VerifyPresignedV4Signature(sa.root, sa.iam, sa.region, false),
|
||||
middlewares.VerifyV4Signature(sa.root, sa.iam, sa.region, false, true, false),
|
||||
middlewares.VerifyChecksums(false, false, false),
|
||||
applyBucketCORS,
|
||||
middlewares.ParseAcl(sa.be),
|
||||
))
|
||||
bucketRouter.Put("",
|
||||
@@ -279,11 +279,11 @@ func (sa *S3ApiRouter) Init() {
|
||||
metrics.ActionPutBucketAcl,
|
||||
services,
|
||||
middlewares.BucketObjectNameValidator(),
|
||||
applyBucketCORS,
|
||||
middlewares.AuthorizePublicBucketAccess(sa.be, metrics.ActionPutBucketAcl, auth.PutBucketAclAction, auth.PermissionWriteAcp, sa.region, false),
|
||||
middlewares.VerifyPresignedV4Signature(sa.root, sa.iam, sa.region, false),
|
||||
middlewares.VerifyV4Signature(sa.root, sa.iam, sa.region, false, true, false),
|
||||
middlewares.VerifyChecksums(false, false, false),
|
||||
applyBucketCORS,
|
||||
middlewares.ParseAcl(sa.be),
|
||||
))
|
||||
bucketRouter.Put("",
|
||||
|
||||
@@ -149,6 +149,35 @@ func TestS3ApiRouter_PutBucketTagging_ErrorStillIncludesFallbackCORS(t *testing.
|
||||
}
|
||||
}
|
||||
|
||||
func TestS3ApiRouter_PutObjectLockConfiguration_ErrorStillIncludesFallbackCORS(t *testing.T) {
|
||||
origin := "http://127.0.0.1:9090"
|
||||
|
||||
app := fiber.New()
|
||||
(&S3ApiRouter{
|
||||
app: app,
|
||||
be: backendWithCorsOnly{},
|
||||
iam: &auth.IAMServiceInternal{},
|
||||
region: "us-east-1",
|
||||
corsAllowOrigin: origin,
|
||||
}).Init()
|
||||
|
||||
req, err := http.NewRequest(http.MethodPut, "/testing?object-lock=", nil)
|
||||
if err != nil {
|
||||
t.Fatalf("new request: %v", err)
|
||||
}
|
||||
req.Host = "localhost"
|
||||
req.Header.Set("Origin", origin)
|
||||
|
||||
resp, err := app.Test(req)
|
||||
if err != nil {
|
||||
t.Fatalf("app.Test: %v", err)
|
||||
}
|
||||
|
||||
if got := resp.Header.Get("Access-Control-Allow-Origin"); got != origin {
|
||||
t.Fatalf("expected Access-Control-Allow-Origin %q, got %q", origin, got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestS3ApiRouter_PutObjectTagging_ErrorStillIncludesFallbackCORS(t *testing.T) {
|
||||
origin := "http://127.0.0.1:9090"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user