pubsub

package
v0.1.927 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2026 License: Apache-2.0 Imports: 19 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	TopicEmail                   = contract.ToPubSubKey("email")
	TopicSMS                     = contract.ToPubSubKey("sms")
	TopicNotification            = contract.ToPubSubKey("notification")
	TopicStorageEmbedding        = contract.ToPubSubKey("storage-embedding")
	SubscriptionEmail            = TopicEmail
	SubscriptionSMS              = TopicSMS
	SubscriptionNotification     = TopicNotification
	SubscriptionStorageEmbedding = TopicStorageEmbedding
)

Functions

func NewPubSubClient added in v0.1.166

func NewPubSubClient(ctx context.Context, retryOpts helper.RetryOptions, opts PubSubClientOptions) (*pubsub.Client, error)

Types

type Blackbox

type Blackbox interface {
	contract.Base64Decoder
	// contains filtered or unexported methods
}

type Client

type Client interface {
	Blackbox
	contract.PubSubOperator
}

func NewClient

func NewClient(ctx context.Context, d Dependencies, opts ClientOptions) (Client, error)

func NewNoopClient added in v0.1.741

func NewNoopClient() Client

type ClientOption added in v0.1.162

type ClientOption = contract.Opt[ClientOptions]

func WithAckDeadline added in v0.1.162

func WithAckDeadline(x time.Duration) ClientOption

func WithCredentialsJSON added in v0.1.166

func WithCredentialsJSON(x []byte) ClientOption

func WithDeadLetterPullSubscriptionID added in v0.1.162

func WithDeadLetterPullSubscriptionID(x string) ClientOption

func WithDeadLetterTopicID added in v0.1.162

func WithDeadLetterTopicID(x string) ClientOption

func WithExpirationPolicy added in v0.1.162

func WithExpirationPolicy(x time.Duration) ClientOption

func WithInitialized added in v0.1.609

func WithInitialized(x Initialized) ClientOption

func WithLoaded added in v0.1.163

func WithLoaded(x Loaded) ClientOption

func WithMaxDeliveryAttempts added in v0.1.162

func WithMaxDeliveryAttempts(x int) ClientOption

func WithMessageRetention added in v0.1.745

func WithMessageRetention(x time.Duration) ClientOption

func WithOIDCAudience added in v0.1.603

func WithOIDCAudience(x string) ClientOption

func WithPubSubAdminOperator added in v0.1.609

func WithPubSubAdminOperator(x contract.PubSubAdminOperator) ClientOption

func WithPubSubProjectID added in v0.1.162

func WithPubSubProjectID(x string) ClientOption

func WithPubSubServiceAccountEmail added in v0.1.603

func WithPubSubServiceAccountEmail(x string) ClientOption

func WithToRegister added in v0.1.162

func WithToRegister(x ToRegister) ClientOption

type ClientOptions added in v0.1.162

type ClientOptions struct {
	Loaded
	Initialized
	T                   ToRegister
	AckDeadline         time.Duration
	ExpirationPolicy    time.Duration
	MessageRetention    time.Duration
	MaxDeliveryAttempts int
}

func ApplyClientOptions added in v0.1.162

func ApplyClientOptions(opts *ClientOptions, modifiers ...ClientOption) ClientOptions

type DefaultAdminClient added in v0.1.609

type DefaultAdminClient struct {
	T *pubsubapiv1.TopicAdminClient
	S *pubsubapiv1.SubscriptionAdminClient
}

func (*DefaultAdminClient) CreateSubscription added in v0.1.609

func (d *DefaultAdminClient) CreateSubscription(ctx context.Context, req *pubsubpb.Subscription) (*pubsubpb.Subscription, error)

func (*DefaultAdminClient) CreateTopic added in v0.1.609

func (d *DefaultAdminClient) CreateTopic(ctx context.Context, req *pubsubpb.Topic) (*pubsubpb.Topic, error)

func (*DefaultAdminClient) GetTopic added in v0.1.609

func (*DefaultAdminClient) ListTopicSubscriptions added in v0.1.609

type DefaultTool added in v0.1.11

type DefaultTool struct {
	T *contract.Tool[Client]
}

func NewTool

func NewTool(c Client, opts contract.ToolOptions[Client]) *DefaultTool

func (*DefaultTool) Close added in v0.1.609

func (d *DefaultTool) Close(ctx context.Context) error

Close closes the underlying client.

func (*DefaultTool) DecodePayload added in v0.1.11

func (d *DefaultTool) DecodePayload(ctx context.Context, r *http.Request) (contract.PubSubMessage, error)

DecodePayload extracts and decodes a Pub/Sub message from an HTTP request.

func (*DefaultTool) MockPayload added in v0.1.162

MockPayload creates a mock Pub/Sub payload for testing purposes.

func (*DefaultTool) NewAttributes added in v0.1.162

func (d *DefaultTool) NewAttributes(ctx context.Context, attrs ...string) (map[string]string, error)

NewAttributes constructs a map of Pub/Sub message attributes.

func (*DefaultTool) NewMessage added in v0.1.162

func (d *DefaultTool) NewMessage(ctx context.Context, data string, attrs map[string]string) (*pubsub.Message, error)

NewMessage creates a new Pub/Sub message.

func (*DefaultTool) Publish added in v0.1.162

func (d *DefaultTool) Publish(ctx context.Context, topicID string, msg *pubsub.Message) error

Publish sends a message to a given Pub/Sub topic.

type Dependencies added in v0.1.8

type Initialized added in v0.1.609

type Initialized struct {
	A contract.PubSubAdminOperator
}

type Loaded added in v0.1.162

type Loaded struct {
	OIDCAudience                 string
	PubSubServiceAccountEmail    string
	PubSubProjectID              string
	DeadLetterTopicID            string
	DeadLetterPullSubscriptionID string
	CredentialsJSON              []byte
}

type PubSubClientOptions added in v0.1.166

type PubSubClientOptions struct {
	Loaded
}

type PubSubMessageWrapper

type PubSubMessageWrapper struct {
	Msg *pubsub.Message
}

func (*PubSubMessageWrapper) GetAttributes

func (p *PubSubMessageWrapper) GetAttributes() map[string]string

func (*PubSubMessageWrapper) GetData

func (p *PubSubMessageWrapper) GetData() []byte

func (*PubSubMessageWrapper) GetMessageID

func (p *PubSubMessageWrapper) GetMessageID() string

func (*PubSubMessageWrapper) GetPublishTime

func (p *PubSubMessageWrapper) GetPublishTime() time.Time

type ToRegister added in v0.1.162

type ToRegister []contract.PubSubFamily

type Tool added in v0.1.245

type Tool interface {
	contract.PubSubOperator
}

Jump to

Keyboard shortcuts

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