34 lines
567 B
Go
34 lines
567 B
Go
package discord
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/json"
|
|
"net/http"
|
|
)
|
|
|
|
type Identifiable interface {
|
|
BucketID() string
|
|
}
|
|
|
|
func requestWithToken(
|
|
token string,
|
|
client *http.Client,
|
|
method, url string,
|
|
body any,
|
|
) (*http.Response, error) {
|
|
buf := &bytes.Buffer{}
|
|
err := json.NewEncoder(buf).Encode(body)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
req, err := http.NewRequest(method, url, buf)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
req.Header.Set("Authorization", "Bot "+token)
|
|
req.Header.Set("Content-Type", "application/json")
|
|
|
|
return http.DefaultClient.Do(req)
|
|
}
|