diff options
author | leo <leo@azuminha.com> | 2025-07-01 17:46:39 -0300 |
---|---|---|
committer | leo <leo@azuminha.com> | 2025-07-01 17:46:39 -0300 |
commit | 5fc7e375af36e9fea450714731c6e07d033a041a (patch) | |
tree | 8c612084bc84655720bbdc5e67291b9bd2c5c7d7 /web_server |
part 2
Diffstat (limited to 'web_server')
-rw-r--r-- | web_server/go.mod | 3 | ||||
-rw-r--r-- | web_server/web_server.go | 47 |
2 files changed, 50 insertions, 0 deletions
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()); +} |