@@ -25,9 +25,28 @@ exports.parseAddrs = (request, reply) => {
25
25
}
26
26
27
27
exports . peers = {
28
- // main route handler which is called after the above `parseArgs`, but only if the args were valid
29
28
handler : ( request , reply ) => {
30
- request . server . app . ipfs . swarm . peers ( ( err , peers ) => {
29
+ const ipfs = request . server . app . ipfs
30
+ ipfs . swarm . peers ( ( err , peers ) => {
31
+ if ( err ) {
32
+ log . error ( err )
33
+ return reply ( {
34
+ Message : err . toString ( ) ,
35
+ Code : 0
36
+ } ) . code ( 500 )
37
+ }
38
+
39
+ return reply ( {
40
+ Strings : peers . map ( ( addr ) => addr . toString ( ) )
41
+ } )
42
+ } )
43
+ }
44
+ }
45
+
46
+ exports . addrs = {
47
+ handler : ( request , reply ) => {
48
+ const ipfs = request . server . app . ipfs
49
+ ipfs . swarm . addrs ( ( err , peers ) => {
31
50
if ( err ) {
32
51
log . error ( err )
33
52
return reply ( {
@@ -36,19 +55,22 @@ exports.peers = {
36
55
} ) . code ( 500 )
37
56
}
38
57
58
+ const addrs = { }
59
+ peers . forEach ( ( peer ) => {
60
+ addrs [ peer . id . toB58String ( ) ] = peer . multiaddrs . map ( ( addr ) => addr . toString ( ) )
61
+ } )
62
+
39
63
return reply ( {
40
- Strings : Object . keys ( peers )
41
- . map ( ( key ) =>
42
- `${ peers [ key ] . multiaddrs [ 0 ] . toString ( ) } /ipfs/${ peers [ key ] . id . toB58String ( ) } ` )
64
+ Addrs : addrs
43
65
} )
44
66
} )
45
67
}
46
68
}
47
69
48
70
exports . localAddrs = {
49
- // main route handler which is called after the above `parseArgs`, but only if the args were valid
50
71
handler : ( request , reply ) => {
51
- request . server . app . ipfs . swarm . localAddrs ( ( err , addrs ) => {
72
+ const ipfs = request . server . app . ipfs
73
+ ipfs . swarm . localAddrs ( ( err , addrs ) => {
52
74
if ( err ) {
53
75
log . error ( err )
54
76
return reply ( {
@@ -71,8 +93,9 @@ exports.connect = {
71
93
// main route handler which is called after the above `parseArgs`, but only if the args were valid
72
94
handler : ( request , reply ) => {
73
95
const addr = request . pre . args . addr
96
+ const ipfs = request . server . app . ipfs
74
97
75
- request . server . app . ipfs . swarm . connect ( addr , ( err ) => {
98
+ ipfs . swarm . connect ( addr , ( err ) => {
76
99
if ( err ) {
77
100
log . error ( err )
78
101
return reply ( {
@@ -87,3 +110,28 @@ exports.connect = {
87
110
} )
88
111
}
89
112
}
113
+
114
+ exports . disconnect = {
115
+ // uses common parseAddr method that returns a `addr`
116
+ parseArgs : exports . parseAddrs ,
117
+
118
+ // main route handler which is called after the above `parseArgs`, but only if the args were valid
119
+ handler : ( request , reply ) => {
120
+ const addr = request . pre . args . addr
121
+ const ipfs = request . server . app . ipfs
122
+
123
+ ipfs . swarm . disconnect ( addr , ( err ) => {
124
+ if ( err ) {
125
+ log . error ( err )
126
+ return reply ( {
127
+ Message : err . toString ( ) ,
128
+ Code : 0
129
+ } ) . code ( 500 )
130
+ }
131
+
132
+ return reply ( {
133
+ Strings : [ `disconnect ${ addr } success` ]
134
+ } )
135
+ } )
136
+ }
137
+ }
0 commit comments