@@ -10,10 +10,9 @@ import (
10
10
"strings"
11
11
)
12
12
13
- const baseUrl string = "https://my.zerotier.com/api"
14
-
15
13
type ZeroTierClient struct {
16
- ApiKey string
14
+ ApiKey string
15
+ Controller string
17
16
}
18
17
19
18
type Route struct {
@@ -200,7 +199,7 @@ func (s *ZeroTierClient) headRequest(req *http.Request) (*http.Response, error)
200
199
}
201
200
202
201
func (client * ZeroTierClient ) CheckNetworkExists (id string ) (bool , error ) {
203
- url := fmt .Sprintf (baseUrl + "/network/%s" , id )
202
+ url := fmt .Sprintf (client . Controller + "/network/%s" , id )
204
203
req , err := http .NewRequest ("GET" , url , nil )
205
204
if err != nil {
206
205
return false , err
@@ -219,7 +218,7 @@ func (client *ZeroTierClient) CheckNetworkExists(id string) (bool, error) {
219
218
}
220
219
221
220
func (client * ZeroTierClient ) GetNetwork (id string ) (* Network , error ) {
222
- url := fmt .Sprintf (baseUrl + "/network/%s" , id )
221
+ url := fmt .Sprintf (client . Controller + "/network/%s" , id )
223
222
req , err := http .NewRequest ("GET" , url , nil )
224
223
if err != nil {
225
224
return nil , err
@@ -237,7 +236,7 @@ func (client *ZeroTierClient) GetNetwork(id string) (*Network, error) {
237
236
}
238
237
239
238
func (client * ZeroTierClient ) postNetwork (id string , network * Network ) (* Network , error ) {
240
- url := strings .TrimSuffix (fmt .Sprintf (baseUrl + "/network/%s" , id ), "/" )
239
+ url := strings .TrimSuffix (fmt .Sprintf (client . Controller + "/network/%s" , id ), "/" )
241
240
// strip carriage returns?
242
241
// network.RulesSource = strings.Replace(network.RulesSource, "\r", "", -1)
243
242
j , err := json .Marshal (network )
@@ -275,7 +274,7 @@ func (client *ZeroTierClient) UpdateNetwork(id string, network *Network) (*Netwo
275
274
}
276
275
277
276
func (client * ZeroTierClient ) DeleteNetwork (id string ) error {
278
- url := fmt .Sprintf (baseUrl + "/network/%s" , id )
277
+ url := fmt .Sprintf (client . Controller + "/network/%s" , id )
279
278
req , err := http .NewRequest ("DELETE" , url , nil )
280
279
if err != nil {
281
280
return err
@@ -289,7 +288,7 @@ func (client *ZeroTierClient) DeleteNetwork(id string) error {
289
288
/////////////
290
289
291
290
func (client * ZeroTierClient ) GetMember (nwid string , nodeId string ) (* Member , error ) {
292
- url := fmt .Sprintf (baseUrl + "/network/%s/member/%s" , nwid , nodeId )
291
+ url := fmt .Sprintf (client . Controller + "/network/%s/member/%s" , nwid , nodeId )
293
292
req , err := http .NewRequest ("GET" , url , nil )
294
293
if err != nil {
295
294
return nil , err
@@ -307,7 +306,7 @@ func (client *ZeroTierClient) GetMember(nwid string, nodeId string) (*Member, er
307
306
}
308
307
309
308
func (client * ZeroTierClient ) postMember (member * Member , reqName string ) (* Member , error ) {
310
- url := fmt .Sprintf (baseUrl + "/network/%s/member/%s" , member .NetworkId , member .NodeId )
309
+ url := fmt .Sprintf (client . Controller + "/network/%s/member/%s" , member .NetworkId , member .NodeId )
311
310
j , err := json .Marshal (member )
312
311
if err != nil {
313
312
return nil , err
@@ -339,7 +338,7 @@ func (client *ZeroTierClient) UpdateMember(member *Member) (*Member, error) {
339
338
// Careful: this one isn't documented in the Zt API,
340
339
// but this is what the Central web client does.
341
340
func (client * ZeroTierClient ) DeleteMember (member * Member ) error {
342
- url := fmt .Sprintf (baseUrl + "/network/%s/member/%s" , member .NetworkId , member .NodeId )
341
+ url := fmt .Sprintf (client . Controller + "/network/%s/member/%s" , member .NetworkId , member .NodeId )
343
342
req , err := http .NewRequest ("DELETE" , url , nil )
344
343
if err != nil {
345
344
return err
@@ -349,7 +348,7 @@ func (client *ZeroTierClient) DeleteMember(member *Member) error {
349
348
}
350
349
351
350
func (client * ZeroTierClient ) CheckMemberExists (nwid string , nodeId string ) (bool , error ) {
352
- url := fmt .Sprintf (baseUrl + "/network/%s/member/%s" , nwid , nodeId )
351
+ url := fmt .Sprintf (client . Controller + "/network/%s/member/%s" , nwid , nodeId )
353
352
req , err := http .NewRequest ("GET" , url , nil )
354
353
if err != nil {
355
354
return false , err
0 commit comments