controllers

package
v1.0.20 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2025 License: Apache-2.0 Imports: 23 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) 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 (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

Jump to

Keyboard shortcuts

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