Set HTTP request headers properly

This commit is contained in:
shylie 2026-03-14 21:29:40 -04:00
parent 1ffd466dfc
commit b4f45d759c

View File

@ -6,7 +6,6 @@ import (
"encoding/json"
"fmt"
"io"
"io/ioutil"
"log"
"net/http"
"os"
@ -144,19 +143,31 @@ type BulkIndex struct {
} `json:"data"`
}
func makeRequest(url string) (*http.Response, error) {
req, err := http.NewRequest("GET", url, nil)
if err != nil {
log.Fatalf("Error creating HTTP request: %v", err)
}
req.Header.Set("User-Agent", fmt.Sprintf("Serra_Collection_Tracker/%s", Version))
req.Header.Set("Accept", "*/*")
return http.DefaultClient.Do(req)
}
func fetchBulkDownloadURL() (string, error) {
url := "https://api.scryfall.com/bulk-data"
downloadURL := ""
// Make an HTTP GET request
resp, err := http.Get(url)
resp, err := makeRequest(url)
if err != nil {
log.Fatalf("Error fetching data: %v", err)
}
defer resp.Body.Close()
// Read the response body
body, err := ioutil.ReadAll(resp.Body)
body, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatalf("Error reading response body: %v", err)
}
@ -194,7 +205,7 @@ func downloadBulkData(downloadURL string) (string, error) {
// defer tempFile.Close() // Ensure we close the file when we're done
// Download the file
resp, err := http.Get(downloadURL)
resp, err := makeRequest(downloadURL)
if err != nil {
log.Fatalf("Error downloading file: %v", err)
}
@ -293,13 +304,14 @@ func (c Card) getValue(foil bool) float64 {
}
func fetchCard(setName, collectorNumber string) (*Card, error) {
resp, err := http.Get(fmt.Sprintf("https://api.scryfall.com/cards/%s/%s/", setName, collectorNumber))
resp, err := makeRequest(fmt.Sprintf("https://api.scryfall.com/cards/%s/%s", setName, collectorNumber))
if err != nil {
log.Fatalln(err)
return &Card{}, err
}
if resp.StatusCode != 200 {
log.Println(resp.StatusCode)
return &Card{}, fmt.Errorf("Card %s/%s not found", setName, collectorNumber)
}
@ -325,7 +337,7 @@ func fetchCard(setName, collectorNumber string) (*Card, error) {
val.Prices.Date = primitive.NewDateTimeFromTime(time.Now())
val.SerraPrices = append(val.SerraPrices, val.Prices)
imgResp, imgErr := http.Get(val.ImageUris.Png)
imgResp, imgErr := makeRequest(val.ImageUris.Png)
if imgErr != nil {
log.Fatalln(err)
return &Card{}, err
@ -343,7 +355,7 @@ func fetchCard(setName, collectorNumber string) (*Card, error) {
func fetchSets() (*SetList, error) {
// TODO: better URL Building...
resp, err := http.Get("https://api.scryfall.com/sets")
resp, err := makeRequest("https://api.scryfall.com/sets")
if err != nil {
log.Fatalln(err)
return &SetList{}, err