From b0c480acf5fd89a7d30d3cdac3d8427a16563d43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Tue, 21 Aug 2018 19:03:30 -0700 Subject: [PATCH 1/2] name cmd: move subcommands to subdirectory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit License: MIT Signed-off-by: Ɓukasz Magiera --- core/commands/add.go | 3 +- core/commands/bitswap.go | 13 ++-- core/commands/block.go | 7 ++- core/commands/cat.go | 3 +- core/commands/{ => cmdenv}/env.go | 2 +- core/commands/dht.go | 10 ++-- core/commands/dns.go | 7 ++- core/commands/files.go | 5 +- core/commands/filestore.go | 3 +- core/commands/get.go | 9 +-- core/commands/keystore.go | 9 +-- core/commands/mount_unix.go | 2 +- core/commands/{ => name}/ipns.go | 52 ++++++++-------- core/commands/{ => name}/ipnsps.go | 92 +++++++++++++++++------------ core/commands/{ => name}/name.go | 5 +- core/commands/{ => name}/publish.go | 44 ++++++-------- core/commands/object/patch.go | 15 +---- core/commands/p2p.go | 2 +- core/commands/ping.go | 2 +- core/commands/pubsub.go | 17 +++--- core/commands/repo.go | 3 +- core/commands/resolve.go | 13 ++-- core/commands/root.go | 14 +++-- core/commands/shutdown.go | 4 +- core/commands/stat.go | 6 +- core/commands/swarm.go | 18 +++--- core/commands/urlstore.go | 9 +-- 27 files changed, 195 insertions(+), 174 deletions(-) rename core/commands/{ => cmdenv}/env.go (98%) rename core/commands/{ => name}/ipns.go (76%) rename core/commands/{ => name}/ipnsps.go (59%) rename core/commands/{ => name}/name.go (95%) rename core/commands/{ => name}/publish.go (86%) diff --git a/core/commands/add.go b/core/commands/add.go index a0433c0435e..e3db8086419 100644 --- a/core/commands/add.go +++ b/core/commands/add.go @@ -8,6 +8,7 @@ import ( "strings" core "github.com/ipfs/go-ipfs/core" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" "github.com/ipfs/go-ipfs/core/coreunix" filestore "github.com/ipfs/go-ipfs/filestore" ft "gx/ipfs/QmQjEpRiwVvtowhq69dAtB4jhioPVFXiCcWZm9Sfgn7eqc/go-unixfs" @@ -141,7 +142,7 @@ You can now check what blocks have been created by: return nil }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - n, err := GetNode(env) + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return diff --git a/core/commands/bitswap.go b/core/commands/bitswap.go index 8066939f38e..f6686f5957a 100644 --- a/core/commands/bitswap.go +++ b/core/commands/bitswap.go @@ -7,6 +7,7 @@ import ( oldcmds "github.com/ipfs/go-ipfs/commands" lgc "github.com/ipfs/go-ipfs/commands/legacy" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" e "github.com/ipfs/go-ipfs/core/commands/e" bitswap "gx/ipfs/QmTtmrK4iiM3MxWNA3pvbM9ekQiGZAiFyo57GP8B9FFgtz/go-bitswap" decision "gx/ipfs/QmTtmrK4iiM3MxWNA3pvbM9ekQiGZAiFyo57GP8B9FFgtz/go-bitswap/decision" @@ -48,7 +49,7 @@ var unwantCmd = &oldcmds.Command{ } if !nd.OnlineMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -97,7 +98,7 @@ Print out all blocks currently on the bitswap wantlist for the local peer.`, } if !nd.OnlineMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -140,14 +141,14 @@ var bitswapStatCmd = &cmds.Command{ }, Type: bitswap.Stat{}, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - nd, err := GetNode(env) + nd, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return } if !nd.OnlineMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -215,7 +216,7 @@ prints the ledger associated with a given peer. } if !nd.OnlineMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -272,7 +273,7 @@ Trigger reprovider to announce our data to network. } if !nd.OnlineMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } diff --git a/core/commands/block.go b/core/commands/block.go index bc9acb8dbe8..2e65fef8c54 100644 --- a/core/commands/block.go +++ b/core/commands/block.go @@ -10,6 +10,7 @@ import ( "os" util "github.com/ipfs/go-ipfs/blocks/blockstoreutil" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" e "github.com/ipfs/go-ipfs/core/commands/e" "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds" @@ -137,7 +138,7 @@ than 'sha2-256' or format to anything other than 'v0' will result in CIDv1. cmdkit.IntOption("mhlen", "multihash hash length").WithDefault(-1), }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - n, err := GetNode(env) + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -248,7 +249,7 @@ func getBlockForKey(ctx context.Context, env cmds.Environment, skey string) (blo return nil, fmt.Errorf("zero length cid invalid") } - n, err := GetNode(env) + n, err := cmdenv.GetNode(env) if err != nil { return nil, err } @@ -282,7 +283,7 @@ It takes a list of base58 encoded multihashes to remove. cmdkit.BoolOption("quiet", "q", "Write minimal output."), }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - n, err := GetNode(env) + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return diff --git a/core/commands/cat.go b/core/commands/cat.go index f54f05ea54d..559107828b2 100644 --- a/core/commands/cat.go +++ b/core/commands/cat.go @@ -7,6 +7,7 @@ import ( "os" core "github.com/ipfs/go-ipfs/core" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" coreunix "github.com/ipfs/go-ipfs/core/coreunix" cmds "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds" @@ -29,7 +30,7 @@ var CatCmd = &cmds.Command{ cmdkit.IntOption("length", "l", "Maximum number of bytes to read."), }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - node, err := GetNode(env) + node, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return diff --git a/core/commands/env.go b/core/commands/cmdenv/env.go similarity index 98% rename from core/commands/env.go rename to core/commands/cmdenv/env.go index ce6f8ad48c6..35ac9745308 100644 --- a/core/commands/env.go +++ b/core/commands/cmdenv/env.go @@ -1,4 +1,4 @@ -package commands +package cmdenv import ( "fmt" diff --git a/core/commands/dht.go b/core/commands/dht.go index bcba721b0ac..85d38b48f13 100644 --- a/core/commands/dht.go +++ b/core/commands/dht.go @@ -160,7 +160,7 @@ var findProvidersDhtCmd = &cmds.Command{ } if n.Routing == nil { - res.SetError(errNotOnline, cmdkit.ErrNormal) + res.SetError(ErrNotOnline, cmdkit.ErrNormal) return } @@ -272,7 +272,7 @@ var provideRefDhtCmd = &cmds.Command{ } if n.Routing == nil { - res.SetError(errNotOnline, cmdkit.ErrNormal) + res.SetError(ErrNotOnline, cmdkit.ErrNormal) return } @@ -424,7 +424,7 @@ var findPeerDhtCmd = &cmds.Command{ } if n.Routing == nil { - res.SetError(errNotOnline, cmdkit.ErrNormal) + res.SetError(ErrNotOnline, cmdkit.ErrNormal) return } @@ -529,7 +529,7 @@ Different key types can specify other 'best' rules. } if n.Routing == nil { - res.SetError(errNotOnline, cmdkit.ErrNormal) + res.SetError(ErrNotOnline, cmdkit.ErrNormal) return } @@ -643,7 +643,7 @@ NOTE: A value may not exceed 2048 bytes. } if n.Routing == nil { - res.SetError(errNotOnline, cmdkit.ErrNormal) + res.SetError(ErrNotOnline, cmdkit.ErrNormal) return } diff --git a/core/commands/dns.go b/core/commands/dns.go index 9fb48c430c1..2353ee7ec65 100644 --- a/core/commands/dns.go +++ b/core/commands/dns.go @@ -6,6 +6,7 @@ import ( cmds "github.com/ipfs/go-ipfs/commands" e "github.com/ipfs/go-ipfs/core/commands/e" + ncmd "github.com/ipfs/go-ipfs/core/commands/name" namesys "github.com/ipfs/go-ipfs/namesys" nsopts "github.com/ipfs/go-ipfs/namesys/opts" @@ -72,7 +73,7 @@ The resolver can recursively resolve: res.SetError(err, cmdkit.ErrNormal) return } - res.SetOutput(&ResolvedPath{output}) + res.SetOutput(&ncmd.ResolvedPath{Path: output}) }, Marshalers: cmds.MarshalerMap{ cmds.Text: func(res cmds.Response) (io.Reader, error) { @@ -81,12 +82,12 @@ The resolver can recursively resolve: return nil, err } - output, ok := v.(*ResolvedPath) + output, ok := v.(*ncmd.ResolvedPath) if !ok { return nil, e.TypeErr(output, v) } return strings.NewReader(output.Path.String() + "\n"), nil }, }, - Type: ResolvedPath{}, + Type: ncmd.ResolvedPath{}, } diff --git a/core/commands/files.go b/core/commands/files.go index ca96dc8f6ba..a7745eac789 100644 --- a/core/commands/files.go +++ b/core/commands/files.go @@ -14,6 +14,7 @@ import ( oldcmds "github.com/ipfs/go-ipfs/commands" lgc "github.com/ipfs/go-ipfs/commands/legacy" core "github.com/ipfs/go-ipfs/core" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" e "github.com/ipfs/go-ipfs/core/commands/e" ft "gx/ipfs/QmQjEpRiwVvtowhq69dAtB4jhioPVFXiCcWZm9Sfgn7eqc/go-unixfs" uio "gx/ipfs/QmQjEpRiwVvtowhq69dAtB4jhioPVFXiCcWZm9Sfgn7eqc/go-unixfs/io" @@ -114,7 +115,7 @@ var filesStatCmd = &cmds.Command{ res.SetError(err, cmdkit.ErrClient) } - node, err := GetNode(env) + node, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -745,7 +746,7 @@ stat' on the file or any of its ancestors. return } - nd, err := GetNode(env) + nd, err := cmdenv.GetNode(env) if err != nil { re.SetError(err, cmdkit.ErrNormal) return diff --git a/core/commands/filestore.go b/core/commands/filestore.go index 539505bfc45..4eded09c9e6 100644 --- a/core/commands/filestore.go +++ b/core/commands/filestore.go @@ -9,6 +9,7 @@ import ( oldCmds "github.com/ipfs/go-ipfs/commands" lgc "github.com/ipfs/go-ipfs/commands/legacy" "github.com/ipfs/go-ipfs/core" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" e "github.com/ipfs/go-ipfs/core/commands/e" "github.com/ipfs/go-ipfs/filestore" @@ -231,7 +232,7 @@ var dupsFileStore = &oldCmds.Command{ } func getFilestore(env interface{}) (*core.IpfsNode, *filestore.Filestore, error) { - n, err := GetNode(env) + n, err := cmdenv.GetNode(env) if err != nil { return nil, nil, err } diff --git a/core/commands/get.go b/core/commands/get.go index d59c38e67e7..f018be2ad6f 100644 --- a/core/commands/get.go +++ b/core/commands/get.go @@ -10,15 +10,16 @@ import ( "strings" core "github.com/ipfs/go-ipfs/core" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" e "github.com/ipfs/go-ipfs/core/commands/e" - uarchive "gx/ipfs/QmQjEpRiwVvtowhq69dAtB4jhioPVFXiCcWZm9Sfgn7eqc/go-unixfs/archive" - dag "gx/ipfs/QmRiQCJZ91B7VNmLvA6sxzDuBJGSojS3uXHHVuNr3iueNZ/go-merkledag" - path "gx/ipfs/QmdMPBephdLYNESkruDX2hcDTgFYhoCt4LimWhgnomSdV2/go-path" "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds" "gx/ipfs/QmPtj12fdwuAqj9sBSTNUxBNu8kCGNp8b3o8yUzMm5GHpq/pb" tar "gx/ipfs/QmQine7gvHncNevKtG9QXxf3nXcwSj6aDDmMm52mHofEEp/tar-utils" + uarchive "gx/ipfs/QmQjEpRiwVvtowhq69dAtB4jhioPVFXiCcWZm9Sfgn7eqc/go-unixfs/archive" + dag "gx/ipfs/QmRiQCJZ91B7VNmLvA6sxzDuBJGSojS3uXHHVuNr3iueNZ/go-merkledag" "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit" + path "gx/ipfs/QmdMPBephdLYNESkruDX2hcDTgFYhoCt4LimWhgnomSdV2/go-path" ) var ErrInvalidCompressionLevel = errors.New("compression level must be between 1 and 9") @@ -59,7 +60,7 @@ may also specify the level of compression by specifying '-l=<1-9>'. return } - node, err := GetNode(env) + node, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return diff --git a/core/commands/keystore.go b/core/commands/keystore.go index 9b10450eab9..ab00a31ff87 100644 --- a/core/commands/keystore.go +++ b/core/commands/keystore.go @@ -5,6 +5,7 @@ import ( "io" "text/tabwriter" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" "github.com/ipfs/go-ipfs/core/commands/e" "github.com/ipfs/go-ipfs/core/coreapi/interface/options" @@ -66,7 +67,7 @@ var keyGenCmd = &cmds.Command{ cmdkit.StringArg("name", true, false, "name of key to create"), }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - api, err := GetApi(env) + api, err := cmdenv.GetApi(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -125,7 +126,7 @@ var keyListCmd = &cmds.Command{ cmdkit.BoolOption("l", "Show extra information about keys."), }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - api, err := GetApi(env) + api, err := cmdenv.GetApi(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -163,7 +164,7 @@ var keyRenameCmd = &cmds.Command{ cmdkit.BoolOption("force", "f", "Allow to overwrite an existing key."), }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - api, err := GetApi(env) + api, err := cmdenv.GetApi(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -215,7 +216,7 @@ var keyRmCmd = &cmds.Command{ cmdkit.BoolOption("l", "Show extra information about keys."), }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - api, err := GetApi(env) + api, err := cmdenv.GetApi(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return diff --git a/core/commands/mount_unix.go b/core/commands/mount_unix.go index b7e427a3fcb..97120e1e9bf 100644 --- a/core/commands/mount_unix.go +++ b/core/commands/mount_unix.go @@ -91,7 +91,7 @@ baz // error if we aren't running node in online mode if node.LocalMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } diff --git a/core/commands/ipns.go b/core/commands/name/ipns.go similarity index 76% rename from core/commands/ipns.go rename to core/commands/name/ipns.go index cc1a248b305..36ab6067b7a 100644 --- a/core/commands/ipns.go +++ b/core/commands/name/ipns.go @@ -1,4 +1,4 @@ -package commands +package name import ( "errors" @@ -6,15 +6,25 @@ import ( "strings" "time" - cmds "github.com/ipfs/go-ipfs/commands" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" e "github.com/ipfs/go-ipfs/core/commands/e" namesys "github.com/ipfs/go-ipfs/namesys" nsopts "github.com/ipfs/go-ipfs/namesys/opts" + cmds "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds" + logging "gx/ipfs/QmRREK2CAZ5Re2Bd9zZFG6FeYDppUWt5cMgsoUEp3ktgSr/go-log" "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit" offline "gx/ipfs/Qmd45r5jHr1PKMNQqifnbZy1ZQwHdtXUDJFamUEvUJE544/go-ipfs-routing/offline" + path "gx/ipfs/QmdMPBephdLYNESkruDX2hcDTgFYhoCt4LimWhgnomSdV2/go-path" + "fmt" ) +var log = logging.Logger("core/commands/ipns") + +type ResolvedPath struct { + Path path.Path +} + var IpnsCmd = &cmds.Command{ Helptext: cmdkit.HelpText{ Tagline: "Resolve IPNS names.", @@ -62,8 +72,8 @@ Resolve the value of a dnslink: cmdkit.UintOption("dht-record-count", "dhtrc", "Number of records to request for DHT resolution."), cmdkit.StringOption("dht-timeout", "dhtt", "Max time to collect values during DHT resolution eg \"30s\". Pass 0 for no timeout."), }, - Run: func(req cmds.Request, res cmds.Response) { - n, err := req.InvocContext().GetNode() + Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -77,8 +87,8 @@ Resolve the value of a dnslink: } } - nocache, _, _ := req.Option("nocache").Bool() - local, _, _ := req.Option("local").Bool() + nocache, _ := req.Options["nocache"].(bool) + local, _ := req.Options["local"].(bool) // default to nodes namesys resolver var resolver namesys.Resolver = n.Namesys @@ -98,7 +108,7 @@ Resolve the value of a dnslink: } var name string - if len(req.Arguments()) == 0 { + if len(req.Arguments) == 0 { if n.Identity == "" { res.SetError(errors.New("identity not loaded"), cmdkit.ErrNormal) return @@ -106,12 +116,12 @@ Resolve the value of a dnslink: name = n.Identity.Pretty() } else { - name = req.Arguments()[0] + name = req.Arguments[0] } - recursive, _, _ := req.Option("recursive").Bool() - rc, rcok, _ := req.Option("dht-record-count").Int() - dhtt, dhttok, _ := req.Option("dht-timeout").String() + recursive, _ := req.Options["recursive"].(bool) + rc, rcok := req.Options["dht-record-count"].(int) + dhtt, dhttok := req.Options["dht-timeout"].(string) var ropts []nsopts.ResolveOpt if !recursive { ropts = append(ropts, nsopts.Depth(1)) @@ -136,7 +146,7 @@ Resolve the value of a dnslink: name = "/ipns/" + name } - output, err := resolver.Resolve(req.Context(), name, ropts...) + output, err := resolver.Resolve(req.Context, name, ropts...) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -144,21 +154,17 @@ Resolve the value of a dnslink: // TODO: better errors (in the case of not finding the name, we get "failed to find any peer in table") - res.SetOutput(&ResolvedPath{output}) + cmds.EmitOnce(res, &ResolvedPath{output}) }, - Marshalers: cmds.MarshalerMap{ - cmds.Text: func(res cmds.Response) (io.Reader, error) { - v, err := unwrapOutput(res.Output()) - if err != nil { - return nil, err - } - + Encoders: cmds.EncoderMap{ + cmds.Text: cmds.MakeEncoder(func(req *cmds.Request, w io.Writer, v interface{}) error { output, ok := v.(*ResolvedPath) if !ok { - return nil, e.TypeErr(output, v) + return e.TypeErr(output, v) } - return strings.NewReader(output.Path.String() + "\n"), nil - }, + _, err := fmt.Fprintln(w, []byte(output.Path.String())) + return err + }), }, Type: ResolvedPath{}, } diff --git a/core/commands/ipnsps.go b/core/commands/name/ipnsps.go similarity index 59% rename from core/commands/ipnsps.go rename to core/commands/name/ipnsps.go index ac0e3447930..88871ca233b 100644 --- a/core/commands/ipnsps.go +++ b/core/commands/name/ipnsps.go @@ -1,16 +1,18 @@ -package commands +package name import ( "errors" "io" "strings" - cmds "github.com/ipfs/go-ipfs/commands" - e "github.com/ipfs/go-ipfs/core/commands/e" + "github.com/ipfs/go-ipfs/core/commands/cmdenv" + "github.com/ipfs/go-ipfs/core/commands/e" - peer "gx/ipfs/QmQsErDt8Qgw1XrsXf2BpEzDgGWtB1YLsTAARBup5b6B9W/go-libp2p-peer" - cmdkit "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit" - record "gx/ipfs/QmdHb9aBELnQKTVhvvA3hsQbRgUAwsWUzBP2vZ6Y5FBYvE/go-libp2p-record" + "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds" + "gx/ipfs/QmQsErDt8Qgw1XrsXf2BpEzDgGWtB1YLsTAARBup5b6B9W/go-libp2p-peer" + "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit" + "gx/ipfs/QmdHb9aBELnQKTVhvvA3hsQbRgUAwsWUzBP2vZ6Y5FBYvE/go-libp2p-record" + "fmt" ) type ipnsPubsubState struct { @@ -21,6 +23,10 @@ type ipnsPubsubCancel struct { Canceled bool } +type stringList struct { + Strings []string +} + // IpnsPubsubCmd is the subcommand that allows us to manage the IPNS pubsub system var IpnsPubsubCmd = &cmds.Command{ Helptext: cmdkit.HelpText{ @@ -42,26 +48,21 @@ var ipnspsStateCmd = &cmds.Command{ Helptext: cmdkit.HelpText{ Tagline: "Query the state of IPNS pubsub", }, - Run: func(req cmds.Request, res cmds.Response) { - n, err := req.InvocContext().GetNode() + Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return } - res.SetOutput(&ipnsPubsubState{n.PSRouter != nil}) + cmds.EmitOnce(res, &ipnsPubsubState{n.PSRouter != nil}) }, Type: ipnsPubsubState{}, - Marshalers: cmds.MarshalerMap{ - cmds.Text: func(res cmds.Response) (io.Reader, error) { - v, err := unwrapOutput(res.Output()) - if err != nil { - return nil, err - } - + Encoders: cmds.EncoderMap{ + cmds.Text: cmds.MakeEncoder(func(req *cmds.Request, w io.Writer, v interface{}) error { output, ok := v.(*ipnsPubsubState) if !ok { - return nil, e.TypeErr(output, v) + return e.TypeErr(output, v) } var state string @@ -71,8 +72,9 @@ var ipnspsStateCmd = &cmds.Command{ state = "disabled" } - return strings.NewReader(state + "\n"), nil - }, + _, err := fmt.Fprintln(w, []byte(state)) + return err + }), }, } @@ -80,8 +82,8 @@ var ipnspsSubsCmd = &cmds.Command{ Helptext: cmdkit.HelpText{ Tagline: "Show current name subscriptions", }, - Run: func(req cmds.Request, res cmds.Response) { - n, err := req.InvocContext().GetNode() + Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -106,11 +108,11 @@ var ipnspsSubsCmd = &cmds.Command{ paths = append(paths, "/ipns/"+peer.IDB58Encode(pid)) } - res.SetOutput(&stringList{paths}) + cmds.EmitOnce(res, &stringList{paths}) }, Type: stringList{}, - Marshalers: cmds.MarshalerMap{ - cmds.Text: stringListMarshaler, + Encoders: cmds.EncoderMap{ + cmds.Text: stringListMarshaler(), }, } @@ -118,8 +120,8 @@ var ipnspsCancelCmd = &cmds.Command{ Helptext: cmdkit.HelpText{ Tagline: "Cancel a name subscription", }, - Run: func(req cmds.Request, res cmds.Response) { - n, err := req.InvocContext().GetNode() + Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -130,7 +132,7 @@ var ipnspsCancelCmd = &cmds.Command{ return } - name := req.Arguments()[0] + name := req.Arguments[0] name = strings.TrimPrefix(name, "/ipns/") pid, err := peer.IDB58Decode(name) if err != nil { @@ -139,22 +141,17 @@ var ipnspsCancelCmd = &cmds.Command{ } ok := n.PSRouter.Cancel("/ipns/" + string(pid)) - res.SetOutput(&ipnsPubsubCancel{ok}) + cmds.EmitOnce(res, &ipnsPubsubCancel{ok}) }, Arguments: []cmdkit.Argument{ cmdkit.StringArg("name", true, false, "Name to cancel the subscription for."), }, Type: ipnsPubsubCancel{}, - Marshalers: cmds.MarshalerMap{ - cmds.Text: func(res cmds.Response) (io.Reader, error) { - v, err := unwrapOutput(res.Output()) - if err != nil { - return nil, err - } - + Encoders: cmds.EncoderMap{ + cmds.Text: cmds.MakeEncoder(func(req *cmds.Request, w io.Writer, v interface{}) error { output, ok := v.(*ipnsPubsubCancel) if !ok { - return nil, e.TypeErr(output, v) + return e.TypeErr(output, v) } var state string @@ -164,7 +161,26 @@ var ipnspsCancelCmd = &cmds.Command{ state = "no subscription" } - return strings.NewReader(state + "\n"), nil - }, + _, err := fmt.Fprintln(w, []byte(state)) + return err + }), }, } + +func stringListMarshaler() cmds.EncoderFunc { + return cmds.MakeEncoder(func(req *cmds.Request, w io.Writer, v interface{}) error { + list, ok := v.(*stringList) + if !ok { + return e.TypeErr(list, v) + } + + for _, s := range list.Strings { + _, err := fmt.Fprintln(w, []byte(s)) + if err != nil { + return err + } + } + + return nil + }) +} diff --git a/core/commands/name.go b/core/commands/name/name.go similarity index 95% rename from core/commands/name.go rename to core/commands/name/name.go index 3efd49a8766..aed92249aa5 100644 --- a/core/commands/name.go +++ b/core/commands/name/name.go @@ -1,8 +1,7 @@ -package commands +package name import ( - cmds "github.com/ipfs/go-ipfs/commands" - + "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds" "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit" ) diff --git a/core/commands/publish.go b/core/commands/name/publish.go similarity index 86% rename from core/commands/publish.go rename to core/commands/name/publish.go index d2960405504..1814f259166 100644 --- a/core/commands/publish.go +++ b/core/commands/name/publish.go @@ -1,26 +1,24 @@ -package commands +package name import ( "context" "errors" "fmt" "io" - "strings" "time" - cmds "github.com/ipfs/go-ipfs/commands" core "github.com/ipfs/go-ipfs/core" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" e "github.com/ipfs/go-ipfs/core/commands/e" keystore "github.com/ipfs/go-ipfs/keystore" - path "gx/ipfs/QmdMPBephdLYNESkruDX2hcDTgFYhoCt4LimWhgnomSdV2/go-path" + "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds" crypto "gx/ipfs/QmPvyPwuCgJ7pDmrKDxRtsScJgBaM5h4EpRL2qQJsmXf4n/go-libp2p-crypto" peer "gx/ipfs/QmQsErDt8Qgw1XrsXf2BpEzDgGWtB1YLsTAARBup5b6B9W/go-libp2p-peer" "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit" + path "gx/ipfs/QmdMPBephdLYNESkruDX2hcDTgFYhoCt4LimWhgnomSdV2/go-path" ) -var errNotOnline = errors.New("this command must be run in online mode. Try running 'ipfs daemon' first") - var PublishCmd = &cmds.Command{ Helptext: cmdkit.HelpText{ Tagline: "Publish IPNS names.", @@ -73,8 +71,8 @@ Alternatively, publish an using a valid PeerID (as listed by cmdkit.StringOption("ttl", "Time duration this record should be cached for (caution: experimental)."), cmdkit.StringOption("key", "k", "Name of the key to be used or a valid PeerID, as listed by 'ipfs key list -l'. Default: <>.").WithDefault("self"), }, - Run: func(req cmds.Request, res cmds.Response) { - n, err := req.InvocContext().GetNode() + Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -93,7 +91,7 @@ Alternatively, publish an using a valid PeerID (as listed by return } - pstr := req.Arguments()[0] + pstr := req.Arguments[0] if n.Identity == "" { res.SetError(errors.New("identity not loaded"), cmdkit.ErrNormal) @@ -102,9 +100,9 @@ Alternatively, publish an using a valid PeerID (as listed by popts := new(publishOpts) - popts.verifyExists, _, _ = req.Option("resolve").Bool() + popts.verifyExists, _ = req.Options["resolve"].(bool) - validtime, _, _ := req.Option("lifetime").String() + validtime, _ := req.Options["lifetime"].(string) d, err := time.ParseDuration(validtime) if err != nil { res.SetError(fmt.Errorf("error parsing lifetime option: %s", err), cmdkit.ErrNormal) @@ -113,8 +111,8 @@ Alternatively, publish an using a valid PeerID (as listed by popts.pubValidTime = d - ctx := req.Context() - if ttl, found, _ := req.Option("ttl").String(); found { + ctx := req.Context + if ttl, found := req.Options["ttl"].(string); found { d, err := time.ParseDuration(ttl) if err != nil { res.SetError(err, cmdkit.ErrNormal) @@ -124,7 +122,7 @@ Alternatively, publish an using a valid PeerID (as listed by ctx = context.WithValue(ctx, "ipns-publish-ttl", d) } - kname, _, _ := req.Option("key").String() + kname, _ := req.Options["key"].(string) k, err := keylookup(n, kname) if err != nil { res.SetError(err, cmdkit.ErrNormal) @@ -142,22 +140,18 @@ Alternatively, publish an using a valid PeerID (as listed by res.SetError(err, cmdkit.ErrNormal) return } - res.SetOutput(output) + cmds.EmitOnce(res, output) }, - Marshalers: cmds.MarshalerMap{ - cmds.Text: func(res cmds.Response) (io.Reader, error) { - v, err := unwrapOutput(res.Output()) - if err != nil { - return nil, err - } + Encoders: cmds.EncoderMap{ + cmds.Text: cmds.MakeEncoder(func(req *cmds.Request, w io.Writer, v interface{}) error { entry, ok := v.(*IpnsEntry) if !ok { - return nil, e.TypeErr(entry, v) + return e.TypeErr(entry, v) } - s := fmt.Sprintf("Published to %s: %s\n", entry.Name, entry.Value) - return strings.NewReader(s), nil - }, + _, err := fmt.Fprintf(w, "Published to %s: %s\n", entry.Name, entry.Value) + return err + }), }, Type: IpnsEntry{}, } diff --git a/core/commands/object/patch.go b/core/commands/object/patch.go index dcffc8f0531..024ab0aec87 100644 --- a/core/commands/object/patch.go +++ b/core/commands/object/patch.go @@ -7,6 +7,7 @@ import ( oldcmds "github.com/ipfs/go-ipfs/commands" lgc "github.com/ipfs/go-ipfs/commands/legacy" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" e "github.com/ipfs/go-ipfs/core/commands/e" coreiface "github.com/ipfs/go-ipfs/core/coreapi/interface" "github.com/ipfs/go-ipfs/core/coreapi/interface/options" @@ -67,7 +68,7 @@ the limit will not be respected by the network. cmdkit.FileArg("data", true, false, "Data to append.").EnableStdin(), }, Run: func(req *cmds.Request, re cmds.ResponseEmitter, env cmds.Environment) { - api, err := GetApi(env) + api, err := cmdenv.GetApi(env) if err != nil { re.SetError(err, cmdkit.ErrNormal) return @@ -250,15 +251,3 @@ to a file containing 'bar', and returns the hash of the new object. oldcmds.Text: objectMarshaler, }, } - -// TODO: fix import loop with core/commands so we don't need that -// COPIED FROM ONE LEVEL UP -// GetApi extracts CoreAPI instance from the environment. -func GetApi(env cmds.Environment) (coreiface.CoreAPI, error) { - ctx, ok := env.(*oldcmds.Context) - if !ok { - return nil, fmt.Errorf("expected env to be of type %T, got %T", ctx, env) - } - - return ctx.GetApi() -} diff --git a/core/commands/p2p.go b/core/commands/p2p.go index 2979a1cc4d1..ca852fafcd8 100644 --- a/core/commands/p2p.go +++ b/core/commands/p2p.go @@ -405,7 +405,7 @@ func getNode(req cmds.Request) (*core.IpfsNode, error) { } if !n.OnlineMode() { - return nil, errNotOnline + return nil, ErrNotOnline } return n, nil diff --git a/core/commands/ping.go b/core/commands/ping.go index 52dfca55dd0..2f4d078fddf 100644 --- a/core/commands/ping.go +++ b/core/commands/ping.go @@ -78,7 +78,7 @@ trip latency information. // Must be online! if !n.OnlineMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } diff --git a/core/commands/pubsub.go b/core/commands/pubsub.go index 846549eaec2..83882b4e27c 100644 --- a/core/commands/pubsub.go +++ b/core/commands/pubsub.go @@ -11,6 +11,7 @@ import ( "time" core "github.com/ipfs/go-ipfs/core" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" e "github.com/ipfs/go-ipfs/core/commands/e" cmds "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds" @@ -73,7 +74,7 @@ This command outputs data in the following encodings: cmdkit.BoolOption("discover", "try to discover other peers subscribed to the same topic"), }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - n, err := GetNode(env) + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -81,7 +82,7 @@ This command outputs data in the following encodings: // Must be online! if !n.OnlineMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -206,7 +207,7 @@ To use, the daemon must be run with '--enable-pubsub-experiment'. cmdkit.StringArg("data", true, true, "Payload of message to publish.").EnableStdin(), }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - n, err := GetNode(env) + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -214,7 +215,7 @@ To use, the daemon must be run with '--enable-pubsub-experiment'. // Must be online! if !n.OnlineMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -253,7 +254,7 @@ To use, the daemon must be run with '--enable-pubsub-experiment'. `, }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - n, err := GetNode(env) + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -261,7 +262,7 @@ To use, the daemon must be run with '--enable-pubsub-experiment'. // Must be online! if !n.OnlineMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -310,7 +311,7 @@ To use, the daemon must be run with '--enable-pubsub-experiment'. cmdkit.StringArg("topic", false, false, "topic to list connected peers of"), }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - n, err := GetNode(env) + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -318,7 +319,7 @@ To use, the daemon must be run with '--enable-pubsub-experiment'. // Must be online! if !n.OnlineMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } diff --git a/core/commands/repo.go b/core/commands/repo.go index 18b960f2dc1..844973fcdff 100644 --- a/core/commands/repo.go +++ b/core/commands/repo.go @@ -11,6 +11,7 @@ import ( oldcmds "github.com/ipfs/go-ipfs/commands" lgc "github.com/ipfs/go-ipfs/commands/legacy" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" e "github.com/ipfs/go-ipfs/core/commands/e" corerepo "github.com/ipfs/go-ipfs/core/corerepo" fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo" @@ -165,7 +166,7 @@ Version string The repo version. cmdkit.BoolOption("human", "Output sizes in MiB."), }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - n, err := GetNode(env) + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return diff --git a/core/commands/resolve.go b/core/commands/resolve.go index 32cafe5d8e4..a1fd265dfe1 100644 --- a/core/commands/resolve.go +++ b/core/commands/resolve.go @@ -9,6 +9,7 @@ import ( cmds "github.com/ipfs/go-ipfs/commands" "github.com/ipfs/go-ipfs/core" e "github.com/ipfs/go-ipfs/core/commands/e" + ncmd "github.com/ipfs/go-ipfs/core/commands/name" ns "github.com/ipfs/go-ipfs/namesys" nsopts "github.com/ipfs/go-ipfs/namesys/opts" path "gx/ipfs/QmdMPBephdLYNESkruDX2hcDTgFYhoCt4LimWhgnomSdV2/go-path" @@ -16,10 +17,6 @@ import ( "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit" ) -type ResolvedPath struct { - Path path.Path -} - var ResolveCmd = &cmds.Command{ Helptext: cmdkit.HelpText{ Tagline: "Resolve the value of names to IPFS.", @@ -113,7 +110,7 @@ Resolve the value of an IPFS DAG path: res.SetError(err, cmdkit.ErrNormal) return } - res.SetOutput(&ResolvedPath{p}) + res.SetOutput(&ncmd.ResolvedPath{Path: p}) return } @@ -132,7 +129,7 @@ Resolve the value of an IPFS DAG path: c := node.Cid() - res.SetOutput(&ResolvedPath{path.FromCid(c)}) + res.SetOutput(&ncmd.ResolvedPath{Path: path.FromCid(c)}) }, Marshalers: cmds.MarshalerMap{ cmds.Text: func(res cmds.Response) (io.Reader, error) { @@ -141,12 +138,12 @@ Resolve the value of an IPFS DAG path: return nil, err } - output, ok := v.(*ResolvedPath) + output, ok := v.(*ncmd.ResolvedPath) if !ok { return nil, e.TypeErr(output, v) } return strings.NewReader(output.Path.String() + "\n"), nil }, }, - Type: ResolvedPath{}, + Type: ncmd.ResolvedPath{}, } diff --git a/core/commands/root.go b/core/commands/root.go index 6be4341983c..9ed34a7f55a 100644 --- a/core/commands/root.go +++ b/core/commands/root.go @@ -1,6 +1,7 @@ package commands import ( + "errors" "io" "strings" @@ -8,6 +9,7 @@ import ( lgc "github.com/ipfs/go-ipfs/commands/legacy" dag "github.com/ipfs/go-ipfs/core/commands/dag" e "github.com/ipfs/go-ipfs/core/commands/e" + name "github.com/ipfs/go-ipfs/core/commands/name" ocmd "github.com/ipfs/go-ipfs/core/commands/object" unixfs "github.com/ipfs/go-ipfs/core/commands/unixfs" @@ -18,6 +20,8 @@ import ( var log = logging.Logger("core/commands") +var ErrNotOnline = errors.New("this command must be run in online mode. Try running 'ipfs daemon' first") + const ( ApiOption = "api" ) @@ -125,7 +129,7 @@ var rootSubcommands = map[string]*cmds.Command{ "log": lgc.NewCommand(LogCmd), "ls": lgc.NewCommand(LsCmd), "mount": lgc.NewCommand(MountCmd), - "name": lgc.NewCommand(NameCmd), + "name": name.NameCmd, "object": ocmd.ObjectCmd, "pin": lgc.NewCommand(PinCmd), "ping": lgc.NewCommand(PingCmd), @@ -160,11 +164,11 @@ var rootROSubcommands = map[string]*cmds.Command{ "get": GetCmd, "dns": lgc.NewCommand(DNSCmd), "ls": lgc.NewCommand(LsCmd), - "name": lgc.NewCommand(&oldcmds.Command{ - Subcommands: map[string]*oldcmds.Command{ - "resolve": IpnsCmd, + "name": &cmds.Command{ + Subcommands: map[string]*cmds.Command{ + "resolve": name.IpnsCmd, }, - }), + }, "object": lgc.NewCommand(&oldcmds.Command{ Subcommands: map[string]*oldcmds.Command{ "data": ocmd.ObjectDataCmd, diff --git a/core/commands/shutdown.go b/core/commands/shutdown.go index c7e84584edc..404f24b960c 100644 --- a/core/commands/shutdown.go +++ b/core/commands/shutdown.go @@ -3,6 +3,8 @@ package commands import ( "fmt" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" + cmds "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds" "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit" ) @@ -12,7 +14,7 @@ var daemonShutdownCmd = &cmds.Command{ Tagline: "Shut down the ipfs daemon", }, Run: func(req *cmds.Request, re cmds.ResponseEmitter, env cmds.Environment) { - nd, err := GetNode(env) + nd, err := cmdenv.GetNode(env) if err != nil { re.SetError(err, cmdkit.ErrNormal) return diff --git a/core/commands/stat.go b/core/commands/stat.go index efbd1942812..5e5d3a6f08b 100644 --- a/core/commands/stat.go +++ b/core/commands/stat.go @@ -7,6 +7,8 @@ import ( "os" "time" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" + humanize "gx/ipfs/QmPSBJL4momYnE7DcUyk2DVhD6rH488ZmHBGLbxNdhU44K/go-humanize" cmds "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds" peer "gx/ipfs/QmQsErDt8Qgw1XrsXf2BpEzDgGWtB1YLsTAARBup5b6B9W/go-libp2p-peer" @@ -80,7 +82,7 @@ Example: }, Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { - nd, err := GetNode(env) + nd, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return @@ -88,7 +90,7 @@ Example: // Must be online! if !nd.OnlineMode() { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } diff --git a/core/commands/swarm.go b/core/commands/swarm.go index b7cb9e568c7..d69c94b4e60 100644 --- a/core/commands/swarm.go +++ b/core/commands/swarm.go @@ -72,7 +72,7 @@ var swarmPeersCmd = &cmds.Command{ } if n.PeerHost == nil { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -223,7 +223,7 @@ var swarmAddrsCmd = &cmds.Command{ } if n.PeerHost == nil { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -291,7 +291,7 @@ var swarmAddrsLocalCmd = &cmds.Command{ } if n.PeerHost == nil { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -331,7 +331,7 @@ var swarmAddrsListenCmd = &cmds.Command{ } if n.PeerHost == nil { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -381,7 +381,7 @@ ipfs swarm connect /ip4/104.131.131.82/tcp/4001/ipfs/QmaCpDMGvV2BGHeYERUEnRQAwe3 addrs := req.Arguments() if n.PeerHost == nil { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -446,7 +446,7 @@ it will reconnect. addrs := req.Arguments() if n.PeerHost == nil { - res.SetError(errNotOnline, cmdkit.ErrClient) + res.SetError(ErrNotOnline, cmdkit.ErrClient) return } @@ -593,7 +593,7 @@ Filters default to those specified under the "Swarm.AddrFilters" config key. } if n.PeerHost == nil { - res.SetError(errNotOnline, cmdkit.ErrNormal) + res.SetError(ErrNotOnline, cmdkit.ErrNormal) return } @@ -641,7 +641,7 @@ add your filters to the ipfs config file. } if n.PeerHost == nil { - res.SetError(errNotOnline, cmdkit.ErrNormal) + res.SetError(ErrNotOnline, cmdkit.ErrNormal) return } @@ -714,7 +714,7 @@ remove your filters from the ipfs config file. } if n.PeerHost == nil { - res.SetError(errNotOnline, cmdkit.ErrNormal) + res.SetError(ErrNotOnline, cmdkit.ErrNormal) return } diff --git a/core/commands/urlstore.go b/core/commands/urlstore.go index f5e9ed29068..4b3dd9f3d73 100644 --- a/core/commands/urlstore.go +++ b/core/commands/urlstore.go @@ -5,13 +5,14 @@ import ( "io" "net/http" + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv" filestore "github.com/ipfs/go-ipfs/filestore" - balanced "gx/ipfs/QmQjEpRiwVvtowhq69dAtB4jhioPVFXiCcWZm9Sfgn7eqc/go-unixfs/importer/balanced" - ihelper "gx/ipfs/QmQjEpRiwVvtowhq69dAtB4jhioPVFXiCcWZm9Sfgn7eqc/go-unixfs/importer/helpers" - trickle "gx/ipfs/QmQjEpRiwVvtowhq69dAtB4jhioPVFXiCcWZm9Sfgn7eqc/go-unixfs/importer/trickle" cmds "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds" mh "gx/ipfs/QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8/go-multihash" + balanced "gx/ipfs/QmQjEpRiwVvtowhq69dAtB4jhioPVFXiCcWZm9Sfgn7eqc/go-unixfs/importer/balanced" + ihelper "gx/ipfs/QmQjEpRiwVvtowhq69dAtB4jhioPVFXiCcWZm9Sfgn7eqc/go-unixfs/importer/helpers" + trickle "gx/ipfs/QmQjEpRiwVvtowhq69dAtB4jhioPVFXiCcWZm9Sfgn7eqc/go-unixfs/importer/trickle" cmdkit "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit" chunk "gx/ipfs/QmXzBbJo2sLf3uwjNTeoWYiJV7CjAhkiA4twtLvwJSSNdK/go-ipfs-chunker" cid "gx/ipfs/QmZFbDTY9jfSBms2MchvYM9oYRbAF19K7Pby47yDBfpPrb/go-cid" @@ -53,7 +54,7 @@ time. Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) { url := req.Arguments[0] - n, err := GetNode(env) + n, err := cmdenv.GetNode(env) if err != nil { res.SetError(err, cmdkit.ErrNormal) return From faf7aac940251f4538fe1cc71ab0db10ed43cef5 Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Wed, 22 Aug 2018 09:27:26 -0700 Subject: [PATCH 2/2] cmds: go fmt and minor cleanup License: MIT Signed-off-by: Steven Allen --- core/commands/name/ipns.go | 4 ++-- core/commands/name/ipnsps.go | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/core/commands/name/ipns.go b/core/commands/name/ipns.go index 36ab6067b7a..3dc9fd88402 100644 --- a/core/commands/name/ipns.go +++ b/core/commands/name/ipns.go @@ -2,6 +2,7 @@ package name import ( "errors" + "fmt" "io" "strings" "time" @@ -16,7 +17,6 @@ import ( "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit" offline "gx/ipfs/Qmd45r5jHr1PKMNQqifnbZy1ZQwHdtXUDJFamUEvUJE544/go-ipfs-routing/offline" path "gx/ipfs/QmdMPBephdLYNESkruDX2hcDTgFYhoCt4LimWhgnomSdV2/go-path" - "fmt" ) var log = logging.Logger("core/commands/ipns") @@ -162,7 +162,7 @@ Resolve the value of a dnslink: if !ok { return e.TypeErr(output, v) } - _, err := fmt.Fprintln(w, []byte(output.Path.String())) + _, err := fmt.Fprintln(w, output.Path) return err }), }, diff --git a/core/commands/name/ipnsps.go b/core/commands/name/ipnsps.go index 88871ca233b..92ccce9790f 100644 --- a/core/commands/name/ipnsps.go +++ b/core/commands/name/ipnsps.go @@ -2,6 +2,7 @@ package name import ( "errors" + "fmt" "io" "strings" @@ -12,7 +13,6 @@ import ( "gx/ipfs/QmQsErDt8Qgw1XrsXf2BpEzDgGWtB1YLsTAARBup5b6B9W/go-libp2p-peer" "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit" "gx/ipfs/QmdHb9aBELnQKTVhvvA3hsQbRgUAwsWUzBP2vZ6Y5FBYvE/go-libp2p-record" - "fmt" ) type ipnsPubsubState struct { @@ -72,7 +72,7 @@ var ipnspsStateCmd = &cmds.Command{ state = "disabled" } - _, err := fmt.Fprintln(w, []byte(state)) + _, err := fmt.Fprintln(w, state) return err }), }, @@ -161,7 +161,7 @@ var ipnspsCancelCmd = &cmds.Command{ state = "no subscription" } - _, err := fmt.Fprintln(w, []byte(state)) + _, err := fmt.Fprintln(w, state) return err }), }, @@ -175,7 +175,7 @@ func stringListMarshaler() cmds.EncoderFunc { } for _, s := range list.Strings { - _, err := fmt.Fprintln(w, []byte(s)) + _, err := fmt.Fprintln(w, s) if err != nil { return err }