16
16
package configuration
17
17
18
18
import (
19
+ "bytes"
20
+ "encoding/gob"
19
21
"io/ioutil"
20
22
"strings"
21
23
22
24
"github.com/haproxytech/dataplaneapi/log"
23
25
"github.com/hashicorp/hcl"
24
- "github.com/jinzhu/copier"
25
26
"github.com/rodaine/hclencoder"
26
27
)
27
28
@@ -63,17 +64,17 @@ func (s *StorageHCL) SaveAs(filename string) error {
63
64
var err error
64
65
var hcl []byte
65
66
var localCopy StorageDataplaneAPIConfiguration
66
- err = copier .Copy (& localCopy , & s .cfg )
67
- if err != nil {
67
+
68
+ var b bytes.Buffer
69
+ e := gob .NewEncoder (& b )
70
+ if err := e .Encode (s .cfg ); err != nil {
68
71
return err
69
72
}
70
- // check if we have cluster log targets in config file
71
- if s .cfg .Cluster != nil && len (s .cfg .Cluster .ClusterLogTargets ) > 0 {
72
- // since this can contain " character, escape it
73
- for index , value := range localCopy .Cluster .ClusterLogTargets {
74
- localCopy .Cluster .ClusterLogTargets [index ].LogFormat = strings .Replace (value .LogFormat , `"` , `\"` , - 1 )
75
- }
73
+ d := gob .NewDecoder (& b )
74
+ if err := d .Decode (& localCopy ); err != nil {
75
+ return err
76
76
}
77
+
77
78
// check if we have cluster log targets in config file
78
79
if localCopy .Cluster != nil && len (localCopy .Cluster .ClusterLogTargets ) > 0 {
79
80
// since this can contain " character, escape it
@@ -84,7 +85,6 @@ func (s *StorageHCL) SaveAs(filename string) error {
84
85
if localCopy .LogTargets != nil && len (* localCopy .LogTargets ) > 0 {
85
86
var logTargets []log.Target
86
87
for _ , value := range * localCopy .LogTargets {
87
- value .LogFormat = strings .Replace (value .LogFormat , `"` , `\"` , - 1 )
88
88
value .ACLFormat = strings .Replace (value .ACLFormat , `"` , `\"` , - 1 )
89
89
logTargets = append (logTargets , value )
90
90
}
@@ -95,10 +95,6 @@ func (s *StorageHCL) SaveAs(filename string) error {
95
95
aclF := strings .Replace (* localCopy .Log .ACLFormat , `"` , `\"` , - 1 )
96
96
localCopy .Log .ACLFormat = & aclF
97
97
}
98
- if localCopy .Log .LogFormat != nil {
99
- logF := strings .Replace (* localCopy .Log .LogFormat , `"` , `\"` , - 1 )
100
- localCopy .Log .LogFormat = & logF
101
- }
102
98
}
103
99
104
100
hcl , err = hclencoder .Encode (localCopy )
0 commit comments