2022-02-03 17:17:05 +03:00
|
|
|
package s3api
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net/http"
|
|
|
|
|
2025-07-09 01:51:45 -07:00
|
|
|
"github.com/seaweedfs/seaweedfs/weed/glog"
|
|
|
|
"github.com/seaweedfs/seaweedfs/weed/s3api/s3_constants"
|
2022-07-29 00:17:28 -07:00
|
|
|
"github.com/seaweedfs/seaweedfs/weed/s3api/s3err"
|
2022-02-03 17:17:05 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
// GetBucketPolicyHandler Get bucket Policy
|
|
|
|
// https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html
|
|
|
|
func (s3a *S3ApiServer) GetBucketPolicyHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
s3err.WriteErrorResponse(w, r, s3err.ErrNoSuchBucketPolicy)
|
|
|
|
}
|
|
|
|
|
|
|
|
// PutBucketPolicyHandler Put bucket Policy
|
|
|
|
// https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html
|
|
|
|
func (s3a *S3ApiServer) PutBucketPolicyHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
s3err.WriteErrorResponse(w, r, s3err.ErrNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteBucketPolicyHandler Delete bucket Policy
|
|
|
|
// https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html
|
|
|
|
func (s3a *S3ApiServer) DeleteBucketPolicyHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
s3err.WriteErrorResponse(w, r, http.StatusNoContent)
|
|
|
|
}
|
2023-11-13 15:46:07 +05:00
|
|
|
|
2025-07-22 01:07:15 -07:00
|
|
|
// GetBucketEncryptionHandler Returns the default encryption configuration
|
|
|
|
// https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
|
|
|
|
func (s3a *S3ApiServer) GetBucketEncryptionHandler(w http.ResponseWriter, r *http.Request) {
|
2024-10-04 22:59:14 +05:00
|
|
|
bucket, _ := s3_constants.GetBucketAndObject(r)
|
2025-07-22 01:07:15 -07:00
|
|
|
glog.V(3).Infof("GetBucketEncryption %s", bucket)
|
2024-10-04 22:59:14 +05:00
|
|
|
|
|
|
|
if err := s3a.checkBucket(r, bucket); err != s3err.ErrNone {
|
|
|
|
s3err.WriteErrorResponse(w, r, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2024-10-03 20:10:43 +05:00
|
|
|
s3err.WriteErrorResponse(w, r, s3err.ErrNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s3a *S3ApiServer) PutBucketEncryptionHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
s3err.WriteErrorResponse(w, r, s3err.ErrNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s3a *S3ApiServer) DeleteBucketEncryptionHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
s3err.WriteErrorResponse(w, r, s3err.ErrNotImplemented)
|
|
|
|
}
|
2024-10-04 22:59:14 +05:00
|
|
|
|
|
|
|
// GetPublicAccessBlockHandler Retrieves the PublicAccessBlock configuration for an S3 bucket
|
|
|
|
// https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html
|
|
|
|
func (s3a *S3ApiServer) GetPublicAccessBlockHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
s3err.WriteErrorResponse(w, r, s3err.ErrNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s3a *S3ApiServer) PutPublicAccessBlockHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
s3err.WriteErrorResponse(w, r, s3err.ErrNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s3a *S3ApiServer) DeletePublicAccessBlockHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
|
s3err.WriteErrorResponse(w, r, s3err.ErrNotImplemented)
|
|
|
|
}
|