Skip to content

Commit 9849a28

Browse files
committed
refactor: run the fetching of json from file once
1 parent ed549af commit 9849a28

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

core/args.go

+12-6
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ import (
44
"flag"
55
"fmt"
66
"os"
7+
"sync"
8+
)
9+
10+
var (
11+
payloadData []byte = []byte("")
12+
doOnce sync.Once
713
)
814

915
type Arguments struct {
@@ -108,13 +114,13 @@ func (flags *Arguments) IsJSONPayload() bool {
108114
}
109115

110116
func (flags *Arguments) JSONPayload() []byte {
111-
if *flags.json != "" {
112-
payload := FileContent(*flags.json)
113-
114-
return []byte(payload)
115-
}
117+
doOnce.Do(func() {
118+
if *flags.json != "" {
119+
payloadData = []byte(FileContent(*flags.json))
120+
}
121+
})
116122

117-
return []byte("")
123+
return payloadData
118124
}
119125

120126
func (flags *Arguments) Headers() []string {

0 commit comments

Comments
 (0)