diff --git a/handlers/response.go b/handlers/response.go index d408f21..e9e6cb7 100644 --- a/handlers/response.go +++ b/handlers/response.go @@ -5,12 +5,13 @@ import ( "fmt" "io" "io/ioutil" - "log" "mime" "net" "net/http" "os" "path/filepath" + + "git.yetaga.in/alazyreader/castor/logger" ) var responseCodes = map[string]int{ @@ -157,12 +158,12 @@ func (h FileHandler) Handle(w *Response, r *Request) { io.Copy(w, source) } -func RecoveryHandler(next Handler) Handler { +func RecoveryHandler(log logger.Logger, next Handler) Handler { return HandlerFunc(func(w *Response, r *Request) { defer func() { err := recover() if err != nil { - log.Println(err) + log.Info(err) w.WriteStatus(responseCodes["TEMPORARYFAILURE"], "Internal Error") return } diff --git a/logger.go b/logger/logger.go similarity index 96% rename from logger.go rename to logger/logger.go index 226735d..c0d3217 100644 --- a/logger.go +++ b/logger/logger.go @@ -1,4 +1,4 @@ -package main +package logger import "log" diff --git a/main.go b/main.go index 73d6772..8147d30 100644 --- a/main.go +++ b/main.go @@ -9,25 +9,26 @@ import ( "git.yetaga.in/alazyreader/castor/certificates" "git.yetaga.in/alazyreader/castor/handlers" + "git.yetaga.in/alazyreader/castor/logger" ) -func handleConnection(log Logger, conn net.Conn, h handlers.Handler) { +func handleConnection(log logger.Logger, conn net.Conn, h handlers.Handler) { defer conn.Close() scanner := bufio.NewScanner(conn) if ok := scanner.Scan(); !ok { - log.Info(scanner.Err()) + log.Debug(scanner.Err()) } u, err := url.Parse(scanner.Text()) if err != nil { - log.Info(err) + log.Debug(err) } w := handlers.NewResponse(conn) r := handlers.NewRequest(u) - handlers.RecoveryHandler(h).Handle(w, r) + handlers.RecoveryHandler(log, h).Handle(w, r) } func main() { - log := NewLogger(true) + log := logger.NewLogger(true) mime.AddExtensionType(".gemini", "text/gemini") mime.AddExtensionType(".gmi", "text/gemini")