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 }