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  }