feat: basic file handling

This commit is contained in:
2026-02-15 16:31:49 +01:00
parent fccc976b4e
commit f85afce949
4 changed files with 142 additions and 4 deletions

15
main.go
View File

@@ -4,14 +4,15 @@ import (
"bufio"
"log/slog"
"net"
"time"
"tilok.dev/go-http-server/config"
rh "tilok.dev/go-http-server/response_helper"
)
func main() {
//TODO: Make interface configurable
interf := "127.0.0.1:8080"
listener, err := net.Listen("tcp", interf)
conf := config.GetConfig()
listener, err := net.Listen("tcp", conf.NetInterface)
if err != nil {
slog.Error("Could not create listener", "err", err.Error())
}
@@ -30,6 +31,11 @@ func main() {
}
func handleConnection(conn net.Conn) {
startTime := time.Now()
defer func() {
slog.Info("Request handled", "duration", time.Since(startTime).String())
}()
defer conn.Close()
reader := bufio.NewReader(conn)
headers := readHeaders(reader)
@@ -39,5 +45,6 @@ func handleConnection(conn net.Conn) {
}
slog.Info("Received request", "method", headers.Method, "uri", headers.Uri, "proto", headers.Proto, "client", conn.RemoteAddr().String())
headers.debugPrintHeaders()
HandleHTTPRequest(*headers, conn)
}