code review improvements
change core.IpfsNode as first arg check keylookup err to propagate validation errors from lower levels License: MIT Signed-off-by: Kerem Gocen <keremgocen@gmail.com>
Kerem committed
Apr 27, 2017 at 21:00 UTC
76e227d499d75180db491d276db86b54e8aac6d8
1 file changed
+7
-2
core/commands/publish.go
+7
-2
@@ -10,6 +10,7 @@ import (
10
11
cmds "github.com/ipfs/go-ipfs/commands"
12
core "github.com/ipfs/go-ipfs/core"
13
+ keystore "github.com/ipfs/go-ipfs/keystore"
14
path "github.com/ipfs/go-ipfs/path"
15
16
crypto "gx/ipfs/QmP1DfoUjiWH2ZBo1PBH6FupdBucbDepx3HpWmEY6JMUpY/go-libp2p-crypto"
@@ -121,7 +122,7 @@ Alternatively, publish an <ipfs-path> using a valid PeerID(as listed by 'ipfs ke
122
}
123
124
kname, _, _ := req.Option("key").String()
124
- k, err := keylookup(kname, n)
125
+ k, err := keylookup(n, kname)
126
if err != nil {
127
res.SetError(err, cmds.ErrNormal)
128
return
@@ -182,13 +183,17 @@ func publish(ctx context.Context, n *core.IpfsNode, k crypto.PrivKey, ref path.P
183
}, nil
184
}
185
185
-func keylookup(k string, n *core.IpfsNode) (crypto.PrivKey, error) {
186
+func keylookup(n *core.IpfsNode, k string) (crypto.PrivKey, error) {
187
188
res, err := n.GetKey(k)
189
if res != nil {
190
return res, nil
191
}
192
193
+ if err != nil && err != keystore.ErrNoSuchKey {
194
+ return nil, err
195
+ }
196
+
197
keys, err := n.Repo.Keystore().List()
198
if err != nil {
199
return nil, err