-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmessage_entry.go
89 lines (69 loc) · 2.16 KB
/
message_entry.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package tower
import "time"
type MessageContextBuilder interface {
BuildMessageContext(entry Entry, param MessageParameter) MessageContext
}
var _ MessageContextBuilder = (MessageContextBuilderFunc)(nil)
type MessageContextBuilderFunc func(entry Entry, param MessageParameter) MessageContext
func (f MessageContextBuilderFunc) BuildMessageContext(entry Entry, param MessageParameter) MessageContext {
return f(entry, param)
}
func defaultMessageContextBuilder(entry Entry, param MessageParameter) MessageContext {
return &messageContext{inner: entry, param: param}
}
type messageContext struct {
inner Entry
param MessageParameter
}
// HTTPCode Gets HTTP Status Code for the type.
func (m messageContext) HTTPCode() int {
return m.inner.HTTPCode()
}
// Code Gets the original code of the type.
func (m messageContext) Code() int {
return m.inner.Code()
}
// Message Gets the Message of the type.
func (m messageContext) Message() string {
return m.inner.Message()
}
// Caller Gets the caller of this type.
func (m messageContext) Caller() Caller {
return m.inner.Caller()
}
// Key Gets the key for this message.
func (m messageContext) Key() string {
return m.inner.Key()
}
// Level Gets the level of this message.
func (m messageContext) Level() Level {
return m.inner.Level()
}
// Service Gets the service information.
func (m messageContext) Service() Service {
return m.inner.Service()
}
// Context Gets the context of this this type.
func (m messageContext) Context() []any {
return m.inner.Context()
}
// Time returns the time when this message was created.
func (m messageContext) Time() time.Time {
return m.inner.Time()
}
// Err returns the error of this message, if set by the sender.
func (m messageContext) Err() error {
return nil
}
// SkipVerification If true, Sender asks for this message to always be send.
func (m messageContext) SkipVerification() bool {
return m.param.SkipVerification()
}
// Cooldown Gets the cooldown for this message.
func (m messageContext) Cooldown() time.Duration {
return m.param.Cooldown()
}
// Tower Gets the tower instance that created this MessageContext.
func (m messageContext) Tower() *Tower {
return m.param.Tower()
}