23 lines
564 B
Go
23 lines
564 B
Go
package rabbitmq
|
|
|
|
import "context"
|
|
|
|
type DeliveryMetadata struct {
|
|
DeliveryTag uint64
|
|
Redelivered bool
|
|
Consumer string
|
|
Queue string
|
|
Headers map[string]any
|
|
}
|
|
|
|
type deliveryMetadataContextKey struct{}
|
|
|
|
func WithDeliveryMetadata(ctx context.Context, metadata DeliveryMetadata) context.Context {
|
|
return context.WithValue(ctx, deliveryMetadataContextKey{}, metadata)
|
|
}
|
|
|
|
func DeliveryMetadataFromContext(ctx context.Context) (DeliveryMetadata, bool) {
|
|
metadata, ok := ctx.Value(deliveryMetadataContextKey{}).(DeliveryMetadata)
|
|
return metadata, ok
|
|
}
|