1
0
mirror of https://github.com/eventials/goevents.git synced 2025-04-26 13:48:59 +08:00
2018-04-24 15:41:26 -03:00

39 lines
689 B
Go

package messaging
import (
"context"
"time"
)
type Event struct {
Id string
Action string
Timestamp time.Time
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()
}