diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/router.go | 2 | ||||
| -rw-r--r-- | app/server.go | 17 |
2 files changed, 13 insertions, 6 deletions
diff --git a/app/router.go b/app/router.go index 4f563d7..d541b31 100644 --- a/app/router.go +++ b/app/router.go @@ -43,6 +43,8 @@ func (r *Router) write(writer io.Writer, response *Response) (err error) { } func (r *Router) Handle(conn net.Conn) error { + defer conn.Close() + request, err := NewRequest(bufio.NewReader(conn)) if err != nil { return err diff --git a/app/server.go b/app/server.go index 4a0c364..bc3de9e 100644 --- a/app/server.go +++ b/app/server.go @@ -21,11 +21,16 @@ func main() { os.Exit(1) } - conn, err := l.Accept() - if err != nil { - fmt.Println("Error accepting connection: ", err.Error()) - os.Exit(1) - } + for { + conn, err := l.Accept() + if err != nil { + fmt.Println("Error accepting connection: ", err.Error()) + os.Exit(1) + } - router.Handle(conn) + if err := router.Handle(conn); err != nil { + fmt.Println("Failed to handle: ", err.Error()) + os.Exit(1) + } + } } |