aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorjet2tlf <jet2tlf@gmail.com>2024-06-03 16:51:29 +0000
committerjet2tlf <jet2tlf@gmail.com>2024-06-03 16:51:29 +0000
commit06d59369fee711cf1e9cd64cfcf5bc291cadcf77 (patch)
tree83d553146494cfdc9a1b596e56c6fc9a0c51178d /app
parentb3dd001bc8cc282c75105ba229e0c55e5a4b3252 (diff)
downloadhttp-server-go-06d59369fee711cf1e9cd64cfcf5bc291cadcf77.tar.gz
http-server-go-06d59369fee711cf1e9cd64cfcf5bc291cadcf77.zip
codecrafters submit [skip ci]
Diffstat (limited to 'app')
-rw-r--r--app/router.go2
-rw-r--r--app/server.go17
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)
+ }
+ }
}