diff options
| author | jet2tlf <jet2tlf@gmail.com> | 2024-06-03 16:51:29 +0000 |
|---|---|---|
| committer | jet2tlf <jet2tlf@gmail.com> | 2024-06-03 16:51:29 +0000 |
| commit | 06d59369fee711cf1e9cd64cfcf5bc291cadcf77 (patch) | |
| tree | 83d553146494cfdc9a1b596e56c6fc9a0c51178d /app | |
| parent | b3dd001bc8cc282c75105ba229e0c55e5a4b3252 (diff) | |
| download | http-server-go-06d59369fee711cf1e9cd64cfcf5bc291cadcf77.tar.gz http-server-go-06d59369fee711cf1e9cd64cfcf5bc291cadcf77.zip | |
codecrafters submit [skip ci]
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) + } + } } |