diff options
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | dumpClient.go | 19 | ||||
| -rw-r--r-- | main.go | 17 |
3 files changed, 30 insertions, 10 deletions
@@ -1,8 +1,8 @@ all: echo "build it!" - GO111MODULE=off go get -u -v . + # GO111MODULE=off go get -u -v . GO111MODULE=off go build -v -x - sudo setcap 'cap_net_bind_service=+ep' go.wit.com + # sudo setcap 'cap_net_bind_service=+ep' go.wit.com ./go.wit.com @# ./myrepos >/tmp/myrepos.stderr 2>&1 diff --git a/dumpClient.go b/dumpClient.go index 928be49..bd320fb 100644 --- a/dumpClient.go +++ b/dumpClient.go @@ -2,12 +2,24 @@ package main import ( // "fmt" - "log" "net/http" "io/ioutil" + + "go.wit.com/log" ) func dumpClient(r *http.Request) { + var host, url, proto, addr, agent string + + host = r.Host + url = r.URL.String() + proto = r.Proto + addr = r.RemoteAddr + agent = r.UserAgent() + + log.Warn(host, proto, addr, url, agent) + return + // Basic request information log.Println("Method:", r.Method) log.Println("URL:", r.URL) @@ -15,11 +27,12 @@ func dumpClient(r *http.Request) { log.Println("Host:", r.Host) log.Println("Remote Address:", r.RemoteAddr) + // Headers log.Println("Headers:") for name, values := range r.Header { for _, value := range values { - log.Println(name, value) + log.Println("Headers:", name, value) } } @@ -27,7 +40,7 @@ func dumpClient(r *http.Request) { log.Println("Query Parameters:") for param, values := range r.URL.Query() { for _, value := range values { - log.Println(param, value) + log.Println("Query:", param, value) } } @@ -11,17 +11,24 @@ import ( //go:embed files/* var htmlFiles embed.FS +// remove '?' part and trailing '/' +func cleanURL(url string) string { + url = "/" + strings.Trim(url, "/") + return url +} + func okHandler(w http.ResponseWriter, r *http.Request) { - // dumpClient(r) + dumpClient(r) var tmp string - tmp = r.URL.String() + // tmp = r.URL.String() + tmp = cleanURL(r.URL.Path) parts := strings.Split(tmp, "?") - log.Warn("client sent url =", tmp) - log.Warn("parts are:", parts) + log.Info("client sent url =", tmp) + log.Info("parts are:", parts) requrl := parts[0] url, repourl := findkey(requrl) - log.Warn("URL =", url, "REPO URL =", repourl, "REQUEST URL =", requrl) + log.Info("go.wit.com URL =", url, "REPO URL =", repourl, "REQUEST URL =", requrl) if repourl != "" { repoHTML(w, url, repourl) return |
