1
0
mirror of https://github.com/eventials/goevents.git synced 2025-04-28 13:48:49 +08:00
2017-10-09 17:11:02 -03:00

37 lines
648 B
Go

package messaging
import (
"context"
)
type Event struct {
Id string
Action string
Body []byte
ctx context.Context
}
// WithContext returns a shallow copy of Event with its context changed to ctx.
// The provided ctx must be non-nil.
func (e *Event) WithContext(ctx context.Context) *Event {
if ctx == nil {
panic("nil context")
}
e2 := new(Event)
*e2 = *e
e2.ctx = ctx
return e2
}
// The returned context is always non-nil; it defaults to the background context.
// To change the context, use WithContext.
func (e *Event) Context() context.Context {
if e.ctx != nil {
return e.ctx
}
return context.Background()
}