]> Cypherpunks.ru repositories - gocheese.git/commitdiff
Set Server and User-Agent headers
authorSergey Matveev <stargrave@stargrave.org>
Fri, 24 Sep 2021 19:39:50 +0000 (22:39 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sat, 25 Sep 2021 16:52:32 +0000 (19:52 +0300)
main.go
refresh.go

diff --git a/main.go b/main.go
index 5e4f25c60d2f26f80d70b48acdfecaf4c633c1b9..f4a4359e677f63e54f5723f6bd06fa5d8fc6a83d 100644 (file)
--- a/main.go
+++ b/main.go
@@ -47,6 +47,7 @@ import (
 
 const (
        Version   = "3.0.0"
 
 const (
        Version   = "3.0.0"
+       UserAgent = "GoCheese/" + Version
        HTMLBegin = `<!DOCTYPE html>
 <html>
   <head>
        HTMLBegin = `<!DOCTYPE html>
 <html>
   <head>
@@ -231,6 +232,7 @@ func servePkg(w http.ResponseWriter, r *http.Request, pkgName, filename string)
 }
 
 func handler(w http.ResponseWriter, r *http.Request) {
 }
 
 func handler(w http.ResponseWriter, r *http.Request) {
+       w.Header().Set("Server", UserAgent)
        switch r.Method {
        case "GET":
                var path string
        switch r.Method {
        case "GET":
                var path string
index d41f122ead64a4cca959421322bfd6cce1efc4b2..0764a03385df16a2b681499da4b6f6f3f5377adb 100644 (file)
@@ -47,6 +47,15 @@ func blake2b256New() hash.Hash {
        return h
 }
 
        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,
 func refreshDir(
        w http.ResponseWriter,
        r *http.Request,
@@ -156,7 +165,7 @@ func refreshDir(
                                return false
                        }
                        log.Println(r.RemoteAddr, "pypi", filename, "download")
                                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)
                        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
                        }
                        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
                        }
                        if err != nil {
                                goto GPGSigSkip
                        }