forked from nite/go-igdb
start
This commit is contained in:
54
igdb.go
Normal file
54
igdb.go
Normal file
@@ -0,0 +1,54 @@
|
||||
package igdb
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"git.nite07.com/nite/flaresolverr"
|
||||
"github.com/go-resty/resty/v2"
|
||||
)
|
||||
|
||||
type igdb struct {
|
||||
clientID string
|
||||
token *twitchToken
|
||||
flaresolverr *flaresolverr.Flaresolverr
|
||||
}
|
||||
|
||||
func NewIGDB(clientID, clientSecret string) *igdb {
|
||||
return &igdb{
|
||||
token: NewTwitchToken(clientID, clientSecret),
|
||||
flaresolverr: nil,
|
||||
}
|
||||
}
|
||||
|
||||
func NewIGDBWithFlaresolverr(clientID, clientSecret string, f *flaresolverr.Flaresolverr) *igdb {
|
||||
return &igdb{
|
||||
token: NewTwitchToken(clientID, clientSecret),
|
||||
flaresolverr: f,
|
||||
}
|
||||
}
|
||||
|
||||
func (g *igdb) Request(URL string, dataBody any) (*resty.Response, error) {
|
||||
t, err := g.token.getToken()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to get Twitch token: %w", err)
|
||||
}
|
||||
|
||||
resp, err := request().SetBody(dataBody).SetHeaders(map[string]string{
|
||||
"Client-ID": g.clientID,
|
||||
"Authorization": "Bearer " + t,
|
||||
"User-Agent": "",
|
||||
"Content-Type": "text/plain",
|
||||
}).Post(URL)
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to make request: %s: %w", URL, err)
|
||||
}
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (g *igdb) getFlaresolverr() (*flaresolverr.Flaresolverr, error) {
|
||||
if g.flaresolverr == nil {
|
||||
return nil, fmt.Errorf("flaresolverr is not initialized")
|
||||
}
|
||||
return g.flaresolverr, nil
|
||||
}
|
||||
Reference in New Issue
Block a user