Compare commits
3 Commits
gx/v0.7.9
...
gx/v0.7.11
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a22bf1e2bf | ||
|
|
7bcaf9264a | ||
|
|
c1db98f9ae |
@@ -1 +1 @@
|
||||
0.7.9: QmcqyBnUyn9NYC9nusuHw5rSBaXGqhfLb7wFh61ohGc2pK
|
||||
0.7.11: QmV5gPoRsjN1Gid3LMdNZTyfCtP2DsvqEbMAmz82RmmiGk
|
||||
|
||||
17
cid.go
17
cid.go
@@ -3,6 +3,7 @@ package cid
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/binary"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
@@ -209,7 +210,19 @@ func (c *Cid) UnmarshalJSON(b []byte) error {
|
||||
if len(b) < 2 {
|
||||
return fmt.Errorf("invalid cid json blob")
|
||||
}
|
||||
out, err := Decode(string(b[1 : len(b)-1]))
|
||||
obj := struct {
|
||||
CidTarget string `json:"/"`
|
||||
}{}
|
||||
err := json.Unmarshal(b, &obj)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if obj.CidTarget == "" {
|
||||
return fmt.Errorf("cid was incorrectly formatted")
|
||||
}
|
||||
|
||||
out, err := Decode(obj.CidTarget)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -221,7 +234,7 @@ func (c *Cid) UnmarshalJSON(b []byte) error {
|
||||
}
|
||||
|
||||
func (c *Cid) MarshalJSON() ([]byte, error) {
|
||||
return []byte(fmt.Sprintf("\"%s\"", c.String())), nil
|
||||
return []byte(fmt.Sprintf("{\"/\":\"%s\"}", c.String())), nil
|
||||
}
|
||||
|
||||
func (c *Cid) KeyString() string {
|
||||
|
||||
15
cid_test.go
15
cid_test.go
@@ -2,6 +2,7 @@ package cid
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"strings"
|
||||
@@ -200,3 +201,17 @@ func TestHexDecode(t *testing.T) {
|
||||
t.Fatal("hash value failed to round trip decoding from hex")
|
||||
}
|
||||
}
|
||||
|
||||
func TestFromJson(t *testing.T) {
|
||||
cval := "zb2rhhFAEMepUBbGyP1k8tGfz7BSciKXP6GHuUeUsJBaK6cqG"
|
||||
jsoncid := []byte(`{"/":"` + cval + `"}`)
|
||||
var c Cid
|
||||
err := json.Unmarshal(jsoncid, &c)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if c.String() != cval {
|
||||
t.Fatal("json parsing failed")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
"hash": "QmXzWFN4iLdX1Vq8Sc13mET7aXsHkTyJoMbaJJD3NGRhiJ",
|
||||
"hash": "QmcxkxTVuURV2Ptse8TvkqH5BQDwV62X1x19JqqvbBzwUM",
|
||||
"name": "go-multibase",
|
||||
"version": "0.2.1"
|
||||
"version": "0.2.3"
|
||||
}
|
||||
],
|
||||
"gxVersion": "0.8.0",
|
||||
@@ -25,6 +25,6 @@
|
||||
"license": "MIT",
|
||||
"name": "go-cid",
|
||||
"releaseCmd": "git commit -a -m \"gx publish $VERSION\"",
|
||||
"version": "0.7.9"
|
||||
"version": "0.7.11"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user