client/license.go (46 lines of code) (raw):
package client
import (
"fmt"
"net/http"
"strings"
)
func (c *Client) NewLicense(key string) error {
req, err := http.NewRequest(
"POST",
fmt.Sprintf("%s/server/licensingData/licenseKeys", c.RestURL),
strings.NewReader(key),
)
if err != nil {
return err
}
_, err = c.doRequestWithType(req, "text/plain")
if err != nil {
return err
}
return nil
}
func (c *Client) CheckLicense(key string) (bool, error) {
req, err := http.NewRequest("GET", fmt.Sprintf("%s/server/licensingData/licenseKeys/%s", c.RestURL, key), nil)
if err != nil {
return false, err
}
resp, err := c.request(req)
if err != nil {
return false, err
}
if resp.StatusCode == http.StatusNotFound {
return false, nil
}
return true, nil
}
func (c *Client) DeleteLicense(key string) error {
req, err := http.NewRequest("DELETE", fmt.Sprintf("%s/server/licensingData/licenseKeys/%s", c.RestURL, key), nil)
if err != nil {
return err
}
_, err = c.doRequest(req)
if err != nil {
return err
}
return nil
}