-
Notifications
You must be signed in to change notification settings - Fork 0
/
context.go
172 lines (142 loc) · 4 KB
/
context.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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
package app
import (
"fmt"
"io/ioutil"
"gopkg.in/yaml.v3"
)
type config struct {
Path string `yaml:"path"`
document []byte
}
type context struct {
config
DbUri string `yaml:"db_uri"`
Logger Logger `yaml:"logger"`
}
type Logger struct {
AMF AMF `yaml:"AMF"`
UDM UDM `yaml:"UDM"`
SMF SMF `yaml:"SMF"`
NAS NAS `yaml:"NAS"`
FSM FSM `yaml:"FSM"`
NGAP NGAP `yaml:"NGAP"`
NamfComm NamfComm `yaml:"NamfComm"`
NamfEventExposure NamfEventExposure `yaml:"NamfEventExposure"`
NsmfPDUSession NsmfPDUSession `yaml:"NsmfPDUSession"`
NudrDataRepository NudrDataRepository `yaml:"NudrDataRepository"`
OpenApi OpenApi `yaml:"OpenApi"`
Aper Aper `yaml:"Aper"`
CommonConsumerTest CommonConsumerTest `yaml:"CommonConsumerTest"`
PCF PCF `yaml:"PCF"`
UDR UDR `yaml:"UDR"`
NRF NRF `yaml:"NRF"`
NSSF NSSF `yaml:"NSSF"`
AUSF AUSF `yaml:"AUSF"`
N3IWF N3IWF `yaml:"N3IWF"`
WEBUI WEBUI `yaml:"WEBUI"`
}
type AMF struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type UDM struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type SMF struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type PCF struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type UDR struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type NRF struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type NSSF struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type AUSF struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type N3IWF struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type NAS struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type FSM struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type NGAP struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type NamfComm struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type NamfEventExposure struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type NsmfPDUSession struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type NudrDataRepository struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type OpenApi struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type Aper struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type CommonConsumerTest struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
type WEBUI struct {
DebugLevel string `yaml:"debugLevel"`
ReportCaller bool `yaml:"ReportCaller"`
}
var self context
var context_initialized = 0
func init() {
self = context{}
context_initialized = 1
}
func ContextSelf() *context {
return &self
}
func (c *context) readFile() error {
document, err := ioutil.ReadFile(ContextSelf().Path)
if err != nil {
fmt.Println("yamlFile.Get err ", err)
return err
}
ContextSelf().document = document
return nil
}
func (c *context) parseConfig() error {
yamlFile := ContextSelf().document
if err := yaml.Unmarshal(yamlFile, c); err != nil {
fmt.Printf("yaml.Umarshal error: %v", err)
}
return nil
}