@@ -8,22 +8,23 @@ const flatten = require('./utils').flatten
8
8
const Node = require ( './daemon' )
9
9
10
10
const defaultOptions = {
11
- config : {
12
- 'API.HTTPHeaders.Access-Control-Allow-Origin' : [ '*' ] ,
13
- 'API.HTTPHeaders.Access-Control-Allow-Methods' : [
14
- 'PUT' ,
15
- 'POST' ,
16
- 'GET'
17
- ] ,
18
- 'Addresses.Swarm' : [ `/ip4/127.0.0.1/tcp/0` ] ,
19
- 'Addresses.API' : `/ip4/127.0.0.1/tcp/0` ,
20
- 'Addresses.Gateway' : `/ip4/127.0.0.1/tcp/0`
21
- } ,
22
11
disposable : true ,
23
12
start : true ,
24
13
init : true
25
14
}
26
15
16
+ const defaultConfig = {
17
+ 'API.HTTPHeaders.Access-Control-Allow-Origin' : [ '*' ] ,
18
+ 'API.HTTPHeaders.Access-Control-Allow-Methods' : [
19
+ 'PUT' ,
20
+ 'POST' ,
21
+ 'GET'
22
+ ] ,
23
+ 'Addresses.Swarm' : [ `/ip4/127.0.0.1/tcp/0` ] ,
24
+ 'Addresses.API' : `/ip4/127.0.0.1/tcp/0` ,
25
+ 'Addresses.Gateway' : `/ip4/127.0.0.1/tcp/0`
26
+ }
27
+
27
28
/**
28
29
* Control go-ipfs nodes directly from JavaScript.
29
30
*
@@ -64,27 +65,24 @@ const IpfsDaemonController = {
64
65
opts = defaultOptions
65
66
}
66
67
67
- opts . config = flatten ( opts . config )
68
-
69
- // remove random ports for non disposable nodes
70
- // we want them to run on default addresses/ports
71
- if ( ! opts . disposable ) {
72
- delete defaultOptions . config [ 'Addresses.Swarm' ]
73
- delete defaultOptions . config [ 'Addresses.API' ]
74
- delete defaultOptions . config [ 'Addresses.Gateway' ]
75
- }
76
-
77
68
let options = { }
78
69
defaults ( options , opts , defaultOptions )
79
70
options . init = ( typeof options . init !== 'undefined' ? options . init : true )
80
71
81
72
if ( ! options . disposable ) {
73
+ delete defaultConfig [ 'Addresses.Swarm' ]
74
+ delete defaultConfig [ 'Addresses.API' ]
75
+ delete defaultConfig [ 'Addresses.Gateway' ]
76
+
82
77
options . init = false
83
78
options . repoPath = options . repoPath || ( process . env . IPFS_PATH ||
84
79
join ( process . env . HOME ||
85
80
process . env . USERPROFILE , options . isJs ? '.jsipfs' : '.ipfs' ) )
86
81
}
87
82
83
+ options . config = flatten ( opts . config )
84
+ defaults ( options . config , options . config , defaultConfig )
85
+
88
86
const node = new Node ( options )
89
87
90
88
waterfall ( [
0 commit comments