aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYotam Nachum <me@yotam.net>2019-11-01 13:40:08 +0200
committerYotam Nachum <me@yotam.net>2019-11-01 13:40:08 +0200
commit3fbc877ddaeb42ff984a2950d515146bcceda5c0 (patch)
tree7793cbdab4af2a59955081f8118da871f56ea0e0
parentAdd support for index file (diff)
downloadshavit-3fbc877ddaeb42ff984a2950d515146bcceda5c0.tar.gz
shavit-3fbc877ddaeb42ff984a2950d515146bcceda5c0.zip
Add logging for requests
-rw-r--r--logger.go20
-rw-r--r--main.go4
2 files changed, 23 insertions, 1 deletions
diff --git a/logger.go b/logger.go
new file mode 100644
index 0000000..7ebccff
--- /dev/null
+++ b/logger.go
@@ -0,0 +1,20 @@
+package main
+
+import (
+ "log"
+
+ "git.sr.ht/~yotam/go-gemini"
+)
+
+type LoggingHandler struct {
+ handler gemini.Handler
+}
+
+func (h LoggingHandler) Handle(req gemini.Request) gemini.Response {
+ log.Println("Received request for", req.URL)
+
+ res := h.handler.Handle(req)
+ log.Println("Responsed for", req.URL, "with ", res.Status, res.Meta)
+
+ return res
+}
diff --git a/main.go b/main.go
index 7f99ed7..dae8d2c 100644
--- a/main.go
+++ b/main.go
@@ -18,7 +18,9 @@ func main() {
log.Fatal(err)
}
- err = gemini.ListenAndServe("", cfg.TLSCert, cfg.TLSKey, MainHandler{absSourceDir})
+ handler := LoggingHandler{MainHandler{absSourceDir}}
+
+ err = gemini.ListenAndServe("", cfg.TLSCert, cfg.TLSKey, handler)
if err != nil {
log.Fatal(err)
}