diff --git a/src/go.mod b/src/go.mod new file mode 100644 index 0000000000..b4667a2a4d --- /dev/null +++ b/src/go.mod @@ -0,0 +1,3 @@ +module example/hello + +go 1.19 diff --git a/src/main.go b/src/main.go new file mode 100644 index 0000000000..d86f2204ac --- /dev/null +++ b/src/main.go @@ -0,0 +1,31 @@ +package main + +import ( + "errors" + "fmt" + "io" + "net/http" + "os" +) + +func getRoot(w http.ResponseWriter, r *http.Request) { + w.Header().Add("Content-Type", "text/html") + w.WriteHeader(http.StatusOK) + + username := r.URL.Query().Get("username") + fmt.Printf("got / request\n") + io.WriteString(w, fmt.Sprintf("Hello, %s!\n", username)) +} + +func main() { + http.HandleFunc("/", getRoot) + + err := http.ListenAndServe(":3333", nil) + + if errors.Is(err, http.ErrServerClosed) { + fmt.Printf("server closed\n") + } else if err != nil { + fmt.Printf("error starting server: %s\n", err) + os.Exit(1) + } +}