From 5fc7e375af36e9fea450714731c6e07d033a041a Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 1 Jul 2025 17:46:39 -0300 Subject: part 2 --- web_server/go.mod | 3 +++ web_server/web_server.go | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 web_server/go.mod create mode 100644 web_server/web_server.go (limited to 'web_server') diff --git a/web_server/go.mod b/web_server/go.mod new file mode 100644 index 0000000..88f4151 --- /dev/null +++ b/web_server/go.mod @@ -0,0 +1,3 @@ +module web_server.go + +go 1.24.4 diff --git a/web_server/web_server.go b/web_server/web_server.go new file mode 100644 index 0000000..7f1201c --- /dev/null +++ b/web_server/web_server.go @@ -0,0 +1,47 @@ +package main + +import ( + "fmt" + "log" + "net/http" + "strings" + "net" + "bufio" +) + +func handler(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") + w.Header().Set("Expires", "0") + + tmp := strings.Split(r.URL.Path, "/"); + fmt.Println(tmp); + if len(tmp[1]) == 6 { + s := tmp[1]; + fmt.Println(tmp[1]); + conn, err := net.Dial("tcp", "localhost:5555"); + if err != nil { + log.Fatal(err); + } + + fmt.Println(s); + fmt.Fprintf(conn, "{\"type\": 2, \"url\": \"%s\"}", s); + res, _ := bufio.NewReader(conn).ReadBytes('\n'); + fmt.Println(string(res)); + http.Redirect(w, r, string(res), http.StatusPermanentRedirect); + + }else{ + //fmt.Fprintf(w, "oi", r.URL.Path[1:]); + } +} + +func main() { +// page := &Page{Title: "Redirect", Body: []byte("Redirecting...")}; + fmt.Println("Port 5556"); + server := &http.Server{ + Addr: "localhost:5556", + Handler: http.HandlerFunc(handler), + }; + server.SetKeepAlivesEnabled(false); + //http.HandleFunc("/", handler); + log.Fatal(server.ListenAndServe()); +} -- cgit v1.2.3