gdq-archive/vod/main.go

71 lines
1.3 KiB
Go

package main
import (
"fmt"
"log"
"net/http"
"runtime"
viper "github.com/spf13/viper"
)
var (
appID = "gdq-vod-bot"
appName = "Icedream's GamesDoneQuick VoD Bot"
appVersion = "dev"
redditOwnerUsername = "icedream2k9"
)
type config struct {
ID string
URL string
}
func setUserAgent(inner http.RoundTripper, userAgent string) http.RoundTripper {
return &addUGA{
inner: inner,
Agent: userAgent,
}
}
type addUGA struct {
inner http.RoundTripper
Agent string
}
func (ug *addUGA) RoundTrip(r *http.Request) (*http.Response, error) {
r.Header.Set("User-Agent", ug.Agent)
return ug.inner.RoundTrip(r)
}
func main() {
vodID := "agdq2020vods"
viper.SetDefault("ID", vodID)
viper.SetDefault("URL", "https://www.reddit.com/r/VODThread/wiki/"+vodID+".json")
c := new(config)
viper.Unmarshal(c)
userAgent := fmt.Sprintf(
"%s:%s:%s %s (by /u/%s)",
runtime.GOOS,
appID,
appName,
appVersion,
redditOwnerUsername)
redditHTTPClient := &http.Client{
Transport: setUserAgent(http.DefaultTransport, userAgent),
}
videosJSONResponse, err := redditHTTPClient.Get("")
if err != nil {
log.Fatal(err)
}
defer videosJSONResponse.Body.Close()
if videosJSONResponse.StatusCode != http.StatusOK {
log.Fatal(videosJSONResponse.Status)
return
}
}