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) 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) 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) 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) 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) 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) AdminController
func (AdminController) ChangeBucketOwner ¶
func (c AdminController) ChangeBucketOwner(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 bool) 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) 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) 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) 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) 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