@@ -11,6 +11,7 @@ import (
11
11
path "github.com/ipfs/go-ipfs/path"
12
12
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
13
13
14
+ "golang.org/x/net/context"
14
15
ma "gx/ipfs/QmR3JkmZBKYXgNMNsNZawm914455Qof3PEopwuVSeXG7aV/go-multiaddr"
15
16
manet "gx/ipfs/QmYtzQmUwPFGxjCXctJ8e6GXS8sYfoXy2pdeMbS5SFWqRi/go-multiaddr-net"
16
17
)
@@ -36,11 +37,17 @@ func GetEventStream(req cmds.Request) (<-chan map[string]interface{}, error) {
36
37
return nil , err
37
38
}
38
39
40
+ events := parseJsonStream (req .Context (), resp .Body )
41
+
42
+ return events , nil
43
+ }
44
+
45
+ func parseJsonStream (ctx context.Context , r io.ReadCloser ) chan map [string ]interface {} {
39
46
events := make (chan map [string ]interface {})
40
47
go func () {
41
- defer resp . Body .Close ()
48
+ defer r .Close ()
42
49
43
- dec := json .NewDecoder (resp . Body )
50
+ dec := json .NewDecoder (r )
44
51
for {
45
52
var obj map [string ]interface {}
46
53
err := dec .Decode (& obj )
@@ -53,16 +60,16 @@ func GetEventStream(req cmds.Request) (<-chan map[string]interface{}, error) {
53
60
54
61
select {
55
62
case events <- obj :
56
- case <- req . Context () .Done ():
63
+ case <- ctx .Done ():
57
64
return
58
65
}
59
66
}
60
67
}()
61
68
62
- return events , nil
69
+ return events
63
70
}
64
71
65
- func PrintDebugLog (req cmds.Request ) error {
72
+ func PrintDebugLog (req cmds.Request , targetstr string ) error {
66
73
events , err := GetEventStream (req )
67
74
if err != nil {
68
75
return err
@@ -72,7 +79,7 @@ func PrintDebugLog(req cmds.Request) error {
72
79
fmt .Fprintf (os .Stderr , f + "\n " , args ... )
73
80
}
74
81
75
- p , err := path .ParsePath (req . Arguments ()[ 0 ] )
82
+ p , err := path .ParsePath (targetstr )
76
83
if err != nil {
77
84
return err
78
85
}
0 commit comments