// server.go is a small HTTP server used by the issue-2103 integration test. // It serves different YAML content based on the "ref" query parameter. package main import ( "fmt" "net" "net/http" "os" ) func main() { mux := http.NewServeMux() mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { ref := r.URL.Query().Get("ref") if ref == "" { ref = "unknown" } w.Header().Set("Content-Type", "text/plain") _, _ = fmt.Fprintf(w, "version: %s\n", ref) }) listener, err := net.Listen("tcp", "127.0.0.1:0") if err != nil { fmt.Fprintf(os.Stderr, "Failed to listen: %v\n", err) os.Exit(1) } // Print the address so the test script can capture it. fmt.Printf("http://%s\n", listener.Addr().String()) if err := http.Serve(listener, mux); err != nil { fmt.Fprintf(os.Stderr, "Server error: %v\n", err) os.Exit(1) } }