Inital commit
This commit is contained in:
43
main.go
Normal file
43
main.go
Normal file
@@ -0,0 +1,43 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"log/slog"
|
||||
"net"
|
||||
|
||||
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)
|
||||
if err != nil {
|
||||
slog.Error("Could not create listener", "err", err.Error())
|
||||
}
|
||||
|
||||
defer listener.Close()
|
||||
|
||||
for {
|
||||
conn, err := listener.Accept()
|
||||
if err != nil {
|
||||
slog.Error("Could not accept connection", "err", err.Error())
|
||||
continue
|
||||
}
|
||||
|
||||
go handleConnection(conn)
|
||||
}
|
||||
}
|
||||
|
||||
func handleConnection(conn net.Conn) {
|
||||
defer conn.Close()
|
||||
reader := bufio.NewReader(conn)
|
||||
headers := readHeaders(reader)
|
||||
if headers == nil {
|
||||
rh.RespondWithStatusCode(400, conn)
|
||||
return
|
||||
}
|
||||
|
||||
slog.Info("Received request", "method", headers.Method, "uri", headers.Uri, "proto", headers.Proto, "client", conn.RemoteAddr().String())
|
||||
headers.debugPrintHeaders()
|
||||
}
|
||||
Reference in New Issue
Block a user