webhooks

package
v0.2.8 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2026 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EventObjectCreated  = "beamdrop.object.created"
	EventObjectUpdated  = "beamdrop.object.updated"
	EventObjectDeleted  = "beamdrop.object.deleted"
	EventBucketCreated  = "beamdrop.bucket.created"
	EventBucketDeleted  = "beamdrop.bucket.deleted"
	EventShareCreated   = "beamdrop.share.created"
	EventShareDeleted   = "beamdrop.share.deleted"
	EventPresignCreated = "beamdrop.presign.created"
	EventPresignDeleted = "beamdrop.presign.deleted"
)

Event type constants

View Source
const (
	MaxAttempts    = 8
	BaseDelay      = 2 * time.Second
	MaxDelay       = 15 * time.Minute
	RequestTimeout = 10 * time.Second
	PollInterval   = 5 * time.Second
	BatchSize      = 20
)

Variables

This section is empty.

Functions

func Emit

func Emit(eventType, resourceType, resourcePath, actor string, data any)

Emit records an event and fans out deliveries to matching webhooks. It runs asynchronously via a bounded channel to avoid blocking the request handler while also preventing unbounded goroutine growth.

func EmitBucketCreated

func EmitBucketCreated(bucket, actor string)

EmitBucketCreated emits a bucket.created event.

func EmitBucketDeleted

func EmitBucketDeleted(bucket, actor string)

EmitBucketDeleted emits a bucket.deleted event.

func EmitObjectCreated

func EmitObjectCreated(bucket, key, actor string, size int64, etag string)

EmitObjectCreated emits an object.created event.

func EmitObjectDeleted

func EmitObjectDeleted(bucket, key, actor string)

EmitObjectDeleted emits an object.deleted event.

func EmitPresignCreated

func EmitPresignCreated(bucket, key, token, actor string)

EmitPresignCreated emits a presign.created event.

func EmitPresignDeleted

func EmitPresignDeleted(token, actor string)

EmitPresignDeleted emits a presign.deleted event.

func EmitShareCreated

func EmitShareCreated(path, token, actor string)

EmitShareCreated emits a share.created event.

func EmitShareDeleted

func EmitShareDeleted(token, actor string)

EmitShareDeleted emits a share.deleted event.

Types

type Worker

type Worker struct {
	// contains filtered or unexported fields
}

Worker processes webhook deliveries in the background.

func NewWorker

func NewWorker() *Worker

NewWorker creates a new webhook delivery worker.

func (*Worker) Start

func (w *Worker) Start()

Start begins the background delivery loop.

func (*Worker) Stop

func (w *Worker) Stop()

Stop signals the worker to stop.

Jump to

Keyboard shortcuts

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