forked from nuclio/nuclio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
event.go
104 lines (78 loc) · 1.98 KB
/
event.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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package processor
import (
"errors"
"time"
"github.com/nuclio/nuclio-sdk"
)
var ErrUnsupported = errors.New("Event does not support this interface")
// Abstract implementation of event
type AbstractEvent struct {
sourceInfoProvider nuclio.SourceInfoProvider
id nuclio.ID
emptyByteArray []byte
emptyHeaders map[string]interface{}
emptyTime time.Time
}
func (ae *AbstractEvent) GetVersion() int {
return 0
}
func (ae *AbstractEvent) SetSourceProvider(sourceInfoProvider nuclio.SourceInfoProvider) {
ae.sourceInfoProvider = sourceInfoProvider
}
func (ae *AbstractEvent) GetSource() nuclio.SourceInfoProvider {
return ae.sourceInfoProvider
}
func (ae *AbstractEvent) GetID() nuclio.ID {
return ae.id
}
func (ae *AbstractEvent) SetID(id nuclio.ID) {
ae.id = id
}
func (ae *AbstractEvent) GetContentType() string {
return ""
}
func (ae *AbstractEvent) GetBody() []byte {
return ae.emptyByteArray
}
func (ae *AbstractEvent) GetSize() int {
return 0
}
func (ae *AbstractEvent) GetHeader(key string) interface{} {
return nil
}
func (ae *AbstractEvent) GetHeaderByteSlice(key string) []byte {
return ae.emptyByteArray
}
func (ae *AbstractEvent) GetHeaderString(key string) string {
return string(ae.GetHeaderByteSlice(key))
}
func (ae *AbstractEvent) GetHeaders() map[string]interface{} {
return ae.emptyHeaders
}
func (ae *AbstractEvent) GetTimestamp() time.Time {
return ae.emptyTime
}
func (ae *AbstractEvent) GetPath() string {
return ""
}
func (ae *AbstractEvent) GetURL() string {
return ""
}
func (ae *AbstractEvent) GetMethod() string {
return ""
}
func (ae *AbstractEvent) GetField(key string) interface{} {
return nil
}
func (ae *AbstractEvent) GetFieldByteSlice(key string) []byte {
return nil
}
func (ae *AbstractEvent) GetFieldString(key string) string {
return ""
}
func (ae *AbstractEvent) GetFieldInt(key string) (int, error) {
return 0, ErrUnsupported
}
func (ae *AbstractEvent) GetFields() map[string]interface{} {
return nil
}