controllers

package
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2026 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ProcessController added in v1.0.17

func ProcessController(ctx fiber.Ctx, controller Controller, s3action string, svc *Services) error

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

func SetResponseHeaders(ctx fiber.Ctx, headers map[string]*string)

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 (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

type Controller func(ctx fiber.Ctx) (*Response, error)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL