commit 088ab402eb1d412fdbaa3b0b0c0da5f7c1b784c7 Author: charlie <3140647@qq.com> Date: Wed Jun 5 22:02:47 2024 +0800 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8e5400b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +echo.exe diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..426830f --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module echo + +go 1.22.4 diff --git a/main.go b/main.go new file mode 100644 index 0000000..7e130d4 --- /dev/null +++ b/main.go @@ -0,0 +1,36 @@ +package main + +import ( + "fmt" + "log" + "net/http" + "os" +) + +var name string + +func main() { + hostname, err := os.Hostname() + if err != nil { + log.Println("got hostname error:", err) + } + + name = hostname + + http.HandleFunc("/echo", echoHandler) + + fmt.Println("Starting server on :8080") + if err := http.ListenAndServe(":8080", nil); err != nil { + log.Fatal(err) + } + +} + +func echoHandler(w http.ResponseWriter, r *http.Request) { + clientIp := getRemoteIP(r) + fmt.Fprintf(w, "hello %s Host %s provides services", clientIp, name) +} + +func getRemoteIP(r *http.Request) string { + return r.RemoteAddr +}