add logging

This commit is contained in:
Nico 2020-11-24 08:45:27 +00:00
parent 75182f9ec7
commit 5fdde7b057
1 changed files with 6 additions and 1 deletions

View File

@ -6,6 +6,7 @@ import (
"bufio"
"strings"
"strconv"
"log"
)
// SCGIHeaders is a map representing the headers of an SCGI request.
@ -23,17 +24,20 @@ func handle(c net.Conn, fn HandlerFunc) {
hl, err := reader.ReadString(':') // SCGI Spec: First bytes until a ':' represent the header length
if err != nil {
c.Write([]byte("42" + err.Error()))
log.Print(err.Error())
return
}
l, err := strconv.Atoi(hl[:len(hl)-1]) // Strip the trailing :
if err != nil {
c.Write([]byte("42" + err.Error()))
log.Print(err.Error())
return
}
buf := make([]byte, l)
_, err = reader.Read(buf)
if err != nil {
c.Write([]byte("42" + err.Error()))
log.Print(err.Error())
return
}
headerString := string(buf[:l])
@ -48,6 +52,7 @@ func handle(c net.Conn, fn HandlerFunc) {
err = fn(c, header)
if err != nil {
c.Write([]byte("42" + err.Error()))
log.Print(err.Error())
return
}
}
@ -57,7 +62,7 @@ func Serve(listener net.Listener, fn HandlerFunc) error {
for {
conn, err := listener.Accept()
if err != nil {
return err
log.Print(err)
}
go handle(conn, fn)