domain.go
changeset 238 1c0042e76902
parent 207 301d5b94be3f
equal deleted inserted replaced
237:16c27106d83c 238:1c0042e76902
    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 }