go-igdb/endpoint/webhooks.go
2025-04-06 00:28:00 +11:00

27 lines
655 B
Go

package endpoint
import (
"fmt"
"net/http"
"net/url"
)
type Webhooks struct{ BaseEndpoint }
func (a *Webhooks) Register(endpoint EndpointName, secret, callbackUrl string) error {
dataBody := url.Values{}
dataBody.Set("url", callbackUrl)
dataBody.Set("secret", secret)
dataBody.Set("method", "update")
resp, err := a.request(fmt.Sprintf("https://api.igdb.com/v4/%s/webhooks/", endpoint), dataBody.Encode())
if err != nil {
return fmt.Errorf("failed to make request: %s: %w", callbackUrl, err)
}
if resp.StatusCode() == http.StatusOK {
return nil
}
return fmt.Errorf("failed to activate webhook: %s: %s", callbackUrl, resp.String())
}