summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--dumpClient.go19
-rw-r--r--main.go17
3 files changed, 30 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index 8cc826b..8381034 100644
--- a/Makefile
+++ b/Makefile
@@ -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)
}
}
diff --git a/main.go b/main.go
index 9642cb9..b6793e0 100644
--- a/main.go
+++ b/main.go
@@ -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