From f3c71e12f9781d266b84d542b950bc77383a1dc1 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Fri, 24 Sep 2021 22:39:50 +0300 Subject: [PATCH] Set Server and User-Agent headers --- main.go | 2 ++ refresh.go | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 5e4f25c..f4a4359 100644 --- a/main.go +++ b/main.go @@ -47,6 +47,7 @@ import ( const ( Version = "3.0.0" + UserAgent = "GoCheese/" + Version HTMLBegin = ` @@ -231,6 +232,7 @@ func servePkg(w http.ResponseWriter, r *http.Request, pkgName, filename string) } func handler(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Server", UserAgent) switch r.Method { case "GET": var path string diff --git a/refresh.go b/refresh.go index d41f122..0764a03 100644 --- a/refresh.go +++ b/refresh.go @@ -47,6 +47,15 @@ func blake2b256New() hash.Hash { return h } +func agentedReq(url string) *http.Request { + req, err := http.NewRequest("GET", url, nil) + if err != nil { + log.Fatalln(err) + } + req.Header.Set("User-Agent", UserAgent) + return req +} + func refreshDir( w http.ResponseWriter, r *http.Request, @@ -156,7 +165,7 @@ func refreshDir( return false } log.Println(r.RemoteAddr, "pypi", filename, "download") - resp, err = http.Get(uri) + resp, err = c.Do(agentedReq(uri)) if err != nil { log.Println("error", r.RemoteAddr, "pypi", filename, "download", err) http.Error(w, err.Error(), http.StatusBadGateway) @@ -243,7 +252,7 @@ func refreshDir( if _, err = os.Stat(path); err != nil { goto GPGSigSkip } - resp, err := http.Get(uri + GPGSigExt) + resp, err := c.Do(agentedReq(uri + GPGSigExt)) if err != nil { goto GPGSigSkip } -- 2.44.0