Marshal JSON of package without escapes

Otherwise >, < get escaped as JSON does that in favour of browsers
This commit is contained in:
Ettore Di Giacinto
2019-11-29 19:01:50 +01:00
parent fa46601638
commit 4031a4ae81
3 changed files with 51 additions and 11 deletions

View File

@@ -94,7 +94,13 @@ func (db *InMemoryDatabase) GetPackage(ID string) (Package, error) {
p := &DefaultPackage{}
if err := json.Unmarshal(enc, &p); err != nil {
rawIn := json.RawMessage(enc)
bytes, err := rawIn.MarshalJSON()
if err != nil {
return &DefaultPackage{}, err
}
if err := json.Unmarshal(bytes, &p); err != nil {
return nil, err
}
return p, nil
@@ -120,7 +126,7 @@ func (db *InMemoryDatabase) CreatePackage(p Package) (string, error) {
return "", errors.New("InMemoryDatabase suports only DefaultPackage")
}
res, err := json.Marshal(pd)
res, err := pd.JSON()
if err != nil {
return "", err
}
@@ -138,7 +144,7 @@ func (db *InMemoryDatabase) encodePackage(p Package) (string, string, error) {
return "", "", errors.New("InMemoryDatabase suports only DefaultPackage")
}
res, err := json.Marshal(pd)
res, err := pd.JSON()
if err != nil {
return "", "", err
}