@@ -37,8 +37,7 @@ import (
37
37
lockfile "github.com/ipfs/go-ipfs/repo/fsrepo/lock"
38
38
routing "github.com/ipfs/go-ipfs/routing/dht"
39
39
"golang.org/x/net/context"
40
- "gx/ipfs/QmUAQaWbKxGCUTuoQVvvicbQNZ9APF5pDGWyAZSe93AtKH/go-multiaddr"
41
- "gx/ipfs/QmYDds3421prZgqKbLpEK7T9Aa2eVdQ7o3YarX1LVLdP2J/go-multihash"
40
+ ps "gx/ipfs/QmeXj9VAjmYQZxpmVz7VzccbJrpmr8qkCDSjfVNsPTWTYU/go-libp2p-peerstore"
42
41
peer "gx/ipfs/QmfMmLGoKzCHDN7cGgk64PJr4iipzidDRME8HABSJqvmhC/go-libp2p-peer"
43
42
"sync"
44
43
)
@@ -1574,26 +1573,11 @@ func (i *jsonAPIHandler) GETModerators(w http.ResponseWriter, r *http.Request) {
1574
1573
}
1575
1574
var mods []string
1576
1575
for _ , p := range peerInfoList {
1577
- if len (p .Addrs ) == 0 {
1578
- continue
1579
- }
1580
- addr := p .Addrs [0 ]
1581
- if addr .Protocols ()[0 ].Code != multiaddr .P_IPFS {
1582
- continue
1583
- }
1584
- val , err := addr .ValueForProtocol (multiaddr .P_IPFS )
1576
+ id , err := core .ExtractIDFromPointer (p )
1585
1577
if err != nil {
1586
1578
continue
1587
1579
}
1588
- mh , err := multihash .FromB58String (val )
1589
- if err != nil {
1590
- continue
1591
- }
1592
- d , err := multihash .Decode (mh )
1593
- if err != nil {
1594
- continue
1595
- }
1596
- mods = append (mods , string (d .Digest ))
1580
+ mods = append (mods , id )
1597
1581
}
1598
1582
var resp string
1599
1583
removeDuplicates (mods )
@@ -1608,7 +1592,7 @@ func (i *jsonAPIHandler) GETModerators(w http.ResponseWriter, r *http.Request) {
1608
1592
wg .Done ()
1609
1593
return
1610
1594
}
1611
- resp := & pb.PeerAndProfile {mod , & profile }
1595
+ resp := & pb.PeerAndProfile {m , & profile }
1612
1596
mar := jsonpb.Marshaler {
1613
1597
EnumsAsInts : false ,
1614
1598
EmitDefaults : true ,
@@ -1671,34 +1655,19 @@ func (i *jsonAPIHandler) GETModerators(w http.ResponseWriter, r *http.Request) {
1671
1655
1672
1656
found := make (map [string ]bool )
1673
1657
for p := range peerChan {
1674
- go func () {
1675
- if len (p .Addrs ) == 0 {
1676
- return
1677
- }
1678
- addr := p .Addrs [0 ]
1679
- if addr .Protocols ()[0 ].Code != multiaddr .P_IPFS {
1680
- return
1681
- }
1682
- val , err := addr .ValueForProtocol (multiaddr .P_IPFS )
1683
- if err != nil {
1684
- return
1685
- }
1686
- mh , err := multihash .FromB58String (val )
1658
+ go func (pi ps.PeerInfo ) {
1659
+ pid , err := core .ExtractIDFromPointer (pi )
1687
1660
if err != nil {
1688
1661
return
1689
1662
}
1690
- d , err := multihash .Decode (mh )
1691
- if err != nil {
1692
- return
1693
- }
1694
- if ! found [string (d .Digest )] {
1695
- found [string (d .Digest )] = true
1663
+ if ! found [pid ] {
1664
+ found [pid ] = true
1696
1665
if strings .ToLower (include ) == "profile" {
1697
- profile , err := i .node .FetchProfile (string ( d . Digest ) )
1666
+ profile , err := i .node .FetchProfile (pid )
1698
1667
if err != nil {
1699
1668
return
1700
1669
}
1701
- resp := pb.PeerAndProfileWithID {id , string ( d . Digest ) , & profile }
1670
+ resp := pb.PeerAndProfileWithID {id , pid , & profile }
1702
1671
m := jsonpb.Marshaler {
1703
1672
EnumsAsInts : false ,
1704
1673
EmitDefaults : true ,
@@ -1711,15 +1680,15 @@ func (i *jsonAPIHandler) GETModerators(w http.ResponseWriter, r *http.Request) {
1711
1680
}
1712
1681
i .node .Broadcast <- []byte (respJson )
1713
1682
} else {
1714
- resp := wsResp {id , string ( d . Digest ) }
1683
+ resp := wsResp {id , pid }
1715
1684
respJson , err := json .MarshalIndent (resp , "" , " " )
1716
1685
if err != nil {
1717
1686
return
1718
1687
}
1719
1688
i .node .Broadcast <- []byte (respJson )
1720
1689
}
1721
1690
}
1722
- }()
1691
+ }(p )
1723
1692
}
1724
1693
}()
1725
1694
}
0 commit comments