diff --git a/router/user_api.go b/router/user_api.go index 5ec6c51..e5c2379 100644 --- a/router/user_api.go +++ b/router/user_api.go @@ -162,7 +162,7 @@ func connectPeer(ctx *gin.Context, s store.P2PStore) { return } - err := s.ConnectPeer(ctx, a.Addrs...) + err := s.ConnectPeer(ctx, a.Addresses...) if err != nil { ctx.JSON(http.StatusInternalServerError, ResponseError{ Error: err.Error(), diff --git a/store/ipfs_store.go b/store/ipfs_store.go index e0f00a8..3ac7b61 100644 --- a/store/ipfs_store.go +++ b/store/ipfs_store.go @@ -2,6 +2,7 @@ package store import ( "context" + "encoding/json" "log" "net/http" @@ -150,14 +151,18 @@ func (s *IpfsStore) List(ctx context.Context) ([]model.File, error) { } func (s *IpfsStore) GetInfo(ctx context.Context) (*P2PNodeInfo, error) { - n, err := s.ipfsApi.ID() + resp, err := http.Post("http://localhost:5001/api/v0/id", "application/json", nil) if err != nil { return nil, err } - return &P2PNodeInfo{ - ID: n.ID, - Addrs: n.Addresses, - }, nil + defer resp.Body.Close() + var ar P2PNodeInfo + err = json.NewDecoder(resp.Body).Decode(&ar) + if err != nil { + return nil, err + } + + return &ar, nil } func (s *IpfsStore) PinFile(ctx *gin.Context, c string) error { diff --git a/store/store.go b/store/store.go index ced9feb..61b98fd 100644 --- a/store/store.go +++ b/store/store.go @@ -20,6 +20,9 @@ type P2PStore interface { } type P2PNodeInfo struct { - ID string `json:"id"` - Addrs []string `json:"addrs"` + ID string + PublicKey string + Addresses []string + AgentVersion string + ProtocolVersion string }