15 // has nothing to return. |
15 // has nothing to return. |
16 func (mc *Client) GetBlockedDomains(lopt *LimitParams) ([]DomainName, error) { |
16 func (mc *Client) GetBlockedDomains(lopt *LimitParams) ([]DomainName, error) { |
17 const endPoint = "domain_blocks" |
17 const endPoint = "domain_blocks" |
18 var links apiLinks |
18 var links apiLinks |
19 var domains []DomainName |
19 var domains []DomainName |
20 if err := mc.apiCall(endPoint, rest.Get, nil, lopt, &links, &domains); err != nil { |
20 if err := mc.apiCall("v1/"+endPoint, rest.Get, nil, lopt, &links, &domains); err != nil { |
21 return nil, err |
21 return nil, err |
22 } |
22 } |
23 if lopt != nil { // Fetch more pages to reach our limit |
23 if lopt != nil { // Fetch more pages to reach our limit |
24 var domainSlice []DomainName |
24 var domainSlice []DomainName |
25 for (lopt.All || lopt.Limit > len(domains)) && links.next != nil { |
25 for (lopt.All || lopt.Limit > len(domains)) && links.next != nil { |
26 newlopt := links.next |
26 newlopt := links.next |
27 links = apiLinks{} |
27 links = apiLinks{} |
28 if err := mc.apiCall(endPoint, rest.Get, nil, newlopt, &links, &domainSlice); err != nil { |
28 if err := mc.apiCall("v1/"+endPoint, rest.Get, nil, newlopt, &links, &domainSlice); err != nil { |
29 return nil, err |
29 return nil, err |
30 } |
30 } |
31 domains = append(domains, domainSlice...) |
31 domains = append(domains, domainSlice...) |
32 domainSlice = domainSlice[:0] // Clear struct |
32 domainSlice = domainSlice[:0] // Clear struct |
33 } |
33 } |
38 // BlockDomain blocks the specified domain |
38 // BlockDomain blocks the specified domain |
39 func (mc *Client) BlockDomain(domain DomainName) error { |
39 func (mc *Client) BlockDomain(domain DomainName) error { |
40 const endPoint = "domain_blocks" |
40 const endPoint = "domain_blocks" |
41 params := make(apiCallParams) |
41 params := make(apiCallParams) |
42 params["domain"] = string(domain) |
42 params["domain"] = string(domain) |
43 return mc.apiCall(endPoint, rest.Post, params, nil, nil, nil) |
43 return mc.apiCall("v1/"+endPoint, rest.Post, params, nil, nil, nil) |
44 } |
44 } |
45 |
45 |
46 // UnblockDomain unblocks the specified domain |
46 // UnblockDomain unblocks the specified domain |
47 func (mc *Client) UnblockDomain(domain DomainName) error { |
47 func (mc *Client) UnblockDomain(domain DomainName) error { |
48 const endPoint = "domain_blocks" |
48 const endPoint = "domain_blocks" |
49 params := make(apiCallParams) |
49 params := make(apiCallParams) |
50 params["domain"] = string(domain) |
50 params["domain"] = string(domain) |
51 return mc.apiCall(endPoint, rest.Delete, params, nil, nil, nil) |
51 return mc.apiCall("v1/"+endPoint, rest.Delete, params, nil, nil, nil) |
52 } |
52 } |