Documentation
¶
Index ¶
- func ProcessController(ctx fiber.Ctx, controller Controller, s3action string, svc *Services) error
- func ProcessHandlers(controller Controller, s3action string, svc *Services, ...) fiber.Handler
- func SetResponseHeaders(ctx fiber.Ctx, headers map[string]*string)
- func WrapMiddleware(handler fiber.Handler, logger s3log.AuditLogger, mm metrics.Manager) fiber.Handler
- type AdminController
- func (c AdminController) ChangeBucketOwner(ctx fiber.Ctx) (*Response, error)
- func (c AdminController) CreateBucket(ctx fiber.Ctx) (*Response, error)
- func (c AdminController) CreateUser(ctx fiber.Ctx) (*Response, error)
- func (c AdminController) DeleteUser(ctx fiber.Ctx) (*Response, error)
- func (c AdminController) ListBuckets(ctx fiber.Ctx) (*Response, error)
- func (c AdminController) ListUsers(ctx fiber.Ctx) (*Response, error)
- func (c AdminController) UpdateUser(ctx fiber.Ctx) (*Response, error)
- type Controller
- type MetaOptions
- type Response
- type S3ApiController
- func (c S3ApiController) AbortMultipartUpload(ctx fiber.Ctx) (*Response, error)
- func (s S3ApiController) CORSOptions(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) CompleteMultipartUpload(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) CopyObject(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) CreateBucket(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) CreateMultipartUpload(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) DeleteBucket(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) DeleteBucketCors(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) DeleteBucketOwnershipControls(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) DeleteBucketPolicy(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) DeleteBucketTagging(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) DeleteBucketWebsite(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) DeleteObject(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) DeleteObjectTagging(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) DeleteObjects(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetBucketAcl(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetBucketCors(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetBucketLocation(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetBucketOwnershipControls(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetBucketPolicy(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetBucketPolicyStatus(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetBucketTagging(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetBucketVersioning(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetBucketWebsite(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetObject(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetObjectAcl(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetObjectAttributes(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetObjectLegalHold(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetObjectLockConfiguration(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetObjectRetention(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) GetObjectTagging(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) HandleErrorRoute(err error) Controller
- func (c S3ApiController) HeadBucket(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) HeadObject(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) ListBuckets(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) ListMultipartUploads(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) ListObjectVersions(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) ListObjects(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) ListObjectsV2(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) ListParts(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) POSTObject(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutBucketAcl(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutBucketCors(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutBucketOwnershipControls(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutBucketPolicy(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutBucketTagging(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutBucketVersioning(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutBucketWebsite(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutObject(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutObjectAcl(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutObjectLegalHold(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutObjectLockConfiguration(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutObjectRetention(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) PutObjectTagging(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) RestoreObject(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) SelectObjectContent(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) UploadPart(ctx fiber.Ctx) (*Response, error)
- func (c S3ApiController) UploadPartCopy(ctx fiber.Ctx) (*Response, error)
- type Services
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ProcessController ¶ added in v1.0.17
ProcessController executes the given s3api controller and handles the metrics access logs and s3 events
func ProcessHandlers ¶ added in v1.0.17
func ProcessHandlers(controller Controller, s3action string, svc *Services, handlers ...fiber.Handler) fiber.Handler
ProcessHandlers groups a controller and multiple middlewares into a single fiber handler
func SetResponseHeaders ¶ added in v1.0.17
Sets the response headers
func WrapMiddleware ¶ added in v1.0.17
func WrapMiddleware(handler fiber.Handler, logger s3log.AuditLogger, mm metrics.Manager) fiber.Handler
WrapMiddleware executes the given middleware and handles sending the audit logs and metrics. It also handles the error parsing
Types ¶
type AdminController ¶
type AdminController struct {
// contains filtered or unexported fields
}
func NewAdminController ¶
func NewAdminController(iam auth.IAMService, be backend.Backend, l s3log.AuditLogger, s3api S3ApiController) AdminController
func (AdminController) ChangeBucketOwner ¶
func (c AdminController) ChangeBucketOwner(ctx fiber.Ctx) (*Response, error)
func (AdminController) CreateBucket ¶ added in v1.1.0
func (c AdminController) CreateBucket(ctx fiber.Ctx) (*Response, error)
func (AdminController) CreateUser ¶
func (c AdminController) CreateUser(ctx fiber.Ctx) (*Response, error)
func (AdminController) DeleteUser ¶
func (c AdminController) DeleteUser(ctx fiber.Ctx) (*Response, error)
func (AdminController) ListBuckets ¶
func (c AdminController) ListBuckets(ctx fiber.Ctx) (*Response, error)
func (AdminController) ListUsers ¶
func (c AdminController) ListUsers(ctx fiber.Ctx) (*Response, error)
func (AdminController) UpdateUser ¶ added in v1.0.2
func (c AdminController) UpdateUser(ctx fiber.Ctx) (*Response, error)
type Controller ¶ added in v1.0.17
Controller is the type definition for an s3api controller
type MetaOptions ¶ added in v1.0.17
type MetaOptions struct {
ContentLength int64
BucketOwner string
ObjectSize int64
ObjectCount int64
EventName s3event.EventType
ObjectETag *string
VersionId *string
Status int
}
MetaOptions holds the metadata for metrics, audit logs and s3 events
type Response ¶ added in v1.0.17
type Response struct {
Data any
Headers map[string]*string
MetaOpts *MetaOptions
}
Response is the type definition for a controller response Data - Response body Headers - Resposne headers MetaOpts - Meta options for metrics, audit logs and s3 events
type S3ApiController ¶
type S3ApiController struct {
// contains filtered or unexported fields
}
func New ¶
func New(be backend.Backend, iam auth.IAMService, logger s3log.AuditLogger, evs s3event.S3EventSender, mm metrics.Manager, readonly, disableACL bool, virtualDomain string, mpMaxParts int) S3ApiController
func (S3ApiController) AbortMultipartUpload ¶ added in v1.0.17
func (c S3ApiController) AbortMultipartUpload(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) CORSOptions ¶ added in v1.0.17
func (s S3ApiController) CORSOptions(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) CompleteMultipartUpload ¶ added in v1.0.17
func (c S3ApiController) CompleteMultipartUpload(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) CopyObject ¶ added in v1.0.17
func (c S3ApiController) CopyObject(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) CreateBucket ¶ added in v1.0.17
func (c S3ApiController) CreateBucket(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) CreateMultipartUpload ¶ added in v1.0.17
func (c S3ApiController) CreateMultipartUpload(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) DeleteBucket ¶
func (c S3ApiController) DeleteBucket(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) DeleteBucketCors ¶ added in v1.0.17
func (c S3ApiController) DeleteBucketCors(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) DeleteBucketOwnershipControls ¶ added in v1.0.17
func (c S3ApiController) DeleteBucketOwnershipControls(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) DeleteBucketPolicy ¶ added in v1.0.17
func (c S3ApiController) DeleteBucketPolicy(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) DeleteBucketTagging ¶ added in v1.0.17
func (c S3ApiController) DeleteBucketTagging(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) DeleteBucketWebsite ¶ added in v1.6.0
func (c S3ApiController) DeleteBucketWebsite(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) DeleteObject ¶ added in v1.0.17
func (c S3ApiController) DeleteObject(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) DeleteObjectTagging ¶ added in v1.0.17
func (c S3ApiController) DeleteObjectTagging(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) DeleteObjects ¶
func (c S3ApiController) DeleteObjects(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetBucketAcl ¶ added in v1.0.17
func (c S3ApiController) GetBucketAcl(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetBucketCors ¶ added in v1.0.17
func (c S3ApiController) GetBucketCors(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetBucketLocation ¶ added in v1.0.18
func (c S3ApiController) GetBucketLocation(ctx fiber.Ctx) (*Response, error)
GetBucketLocation handles GET /:bucket?location
func (S3ApiController) GetBucketOwnershipControls ¶ added in v1.0.17
func (c S3ApiController) GetBucketOwnershipControls(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetBucketPolicy ¶ added in v1.0.17
func (c S3ApiController) GetBucketPolicy(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetBucketPolicyStatus ¶ added in v1.0.17
func (c S3ApiController) GetBucketPolicyStatus(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetBucketTagging ¶ added in v1.0.17
func (c S3ApiController) GetBucketTagging(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetBucketVersioning ¶ added in v1.0.17
func (c S3ApiController) GetBucketVersioning(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetBucketWebsite ¶ added in v1.6.0
func (c S3ApiController) GetBucketWebsite(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetObject ¶ added in v1.0.17
func (c S3ApiController) GetObject(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetObjectAcl ¶ added in v1.0.17
func (c S3ApiController) GetObjectAcl(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetObjectAttributes ¶ added in v1.0.17
func (c S3ApiController) GetObjectAttributes(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetObjectLegalHold ¶ added in v1.0.17
func (c S3ApiController) GetObjectLegalHold(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetObjectLockConfiguration ¶ added in v1.0.17
func (c S3ApiController) GetObjectLockConfiguration(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetObjectRetention ¶ added in v1.0.17
func (c S3ApiController) GetObjectRetention(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) GetObjectTagging ¶ added in v1.0.17
func (c S3ApiController) GetObjectTagging(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) HandleErrorRoute ¶ added in v1.0.17
func (c S3ApiController) HandleErrorRoute(err error) Controller
Returns MethodNotAllowed for unmatched routes
func (S3ApiController) HeadBucket ¶
func (c S3ApiController) HeadBucket(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) HeadObject ¶
func (c S3ApiController) HeadObject(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) ListBuckets ¶
func (c S3ApiController) ListBuckets(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) ListMultipartUploads ¶ added in v1.0.17
func (c S3ApiController) ListMultipartUploads(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) ListObjectVersions ¶ added in v1.0.17
func (c S3ApiController) ListObjectVersions(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) ListObjects ¶ added in v1.0.17
func (c S3ApiController) ListObjects(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) ListObjectsV2 ¶ added in v1.0.17
func (c S3ApiController) ListObjectsV2(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) ListParts ¶ added in v1.0.17
func (c S3ApiController) ListParts(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) POSTObject ¶ added in v1.4.0
func (c S3ApiController) POSTObject(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutBucketAcl ¶ added in v1.0.17
func (c S3ApiController) PutBucketAcl(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutBucketCors ¶ added in v1.0.17
func (c S3ApiController) PutBucketCors(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutBucketOwnershipControls ¶ added in v1.0.17
func (c S3ApiController) PutBucketOwnershipControls(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutBucketPolicy ¶ added in v1.0.17
func (c S3ApiController) PutBucketPolicy(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutBucketTagging ¶ added in v1.0.17
func (c S3ApiController) PutBucketTagging(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutBucketVersioning ¶ added in v1.0.17
func (c S3ApiController) PutBucketVersioning(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutBucketWebsite ¶ added in v1.6.0
func (c S3ApiController) PutBucketWebsite(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutObject ¶ added in v1.0.17
func (c S3ApiController) PutObject(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutObjectAcl ¶ added in v1.0.17
func (c S3ApiController) PutObjectAcl(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutObjectLegalHold ¶ added in v1.0.17
func (c S3ApiController) PutObjectLegalHold(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutObjectLockConfiguration ¶ added in v1.0.17
func (c S3ApiController) PutObjectLockConfiguration(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutObjectRetention ¶ added in v1.0.17
func (c S3ApiController) PutObjectRetention(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) PutObjectTagging ¶ added in v1.0.17
func (c S3ApiController) PutObjectTagging(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) RestoreObject ¶ added in v1.0.17
func (c S3ApiController) RestoreObject(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) SelectObjectContent ¶ added in v1.0.17
func (c S3ApiController) SelectObjectContent(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) UploadPart ¶ added in v1.0.17
func (c S3ApiController) UploadPart(ctx fiber.Ctx) (*Response, error)
func (S3ApiController) UploadPartCopy ¶ added in v1.0.17
func (c S3ApiController) UploadPartCopy(ctx fiber.Ctx) (*Response, error)
type Services ¶ added in v1.0.17
type Services struct {
Logger s3log.AuditLogger
EventSender s3event.S3EventSender
MetricsManager metrics.Manager
}
Services groups the metrics manager, s3 event sender and audit logger