golang.org/x/playground@v0.0.0-20230418134305-14ebe15bcd59/examples/http.txt (about) 1 // Title: HTTP server 2 package main 3 4 import ( 5 "fmt" 6 "io" 7 "log" 8 "net" 9 "net/http" 10 "os" 11 ) 12 13 func main() { 14 http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) { 15 fmt.Fprint(w, "Hello, playground") 16 }) 17 18 log.Println("Starting server...") 19 l, err := net.Listen("tcp", "localhost:8080") 20 if err != nil { 21 log.Fatal(err) 22 } 23 go func() { 24 log.Fatal(http.Serve(l, nil)) 25 }() 26 27 log.Println("Sending request...") 28 res, err := http.Get("http://localhost:8080/hello") 29 if err != nil { 30 log.Fatal(err) 31 } 32 33 log.Println("Reading response...") 34 if _, err := io.Copy(os.Stdout, res.Body); err != nil { 35 log.Fatal(err) 36 } 37 }