Skip to content

Commit cd832ea

Browse files
committed
Added JSON encoder to disable escaping html symbols
Signed-off-by: Oleh Moskovych <[email protected]>
1 parent 1ea4a74 commit cd832ea

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

stores/json/store.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,14 +149,24 @@ func (store Store) treeBranchFromJSONDecoder(dec *json.Decoder) (sops.TreeBranch
149149
}
150150
}
151151

152+
// Encoder to disable escaping html symbols
153+
// See: https://github.com/getsops/sops/issues/881
154+
func jsonMarshal(v interface{}) ([]byte, error) {
155+
buffer := &bytes.Buffer{}
156+
encoder := json.NewEncoder(buffer)
157+
encoder.SetEscapeHTML(false)
158+
err := encoder.Encode(v)
159+
return buffer.Bytes(), err
160+
}
161+
152162
func (store Store) encodeValue(v interface{}) ([]byte, error) {
153163
switch v := v.(type) {
154164
case sops.TreeBranch:
155165
return store.encodeTree(v)
156166
case []interface{}:
157167
return store.encodeArray(v)
158168
default:
159-
return json.Marshal(v)
169+
return jsonMarshal(v)
160170
}
161171
}
162172

0 commit comments

Comments
 (0)