package main import ( "io/ioutil" "log" "net/http" ) func foo(rw http.ResponseWriter, rq *http.Request) { // Set header indicating keep-alive connection should be closed rw.Header().Set("Connection", "close") // Message must be of meaningful size to cause failure for i := 0; i < 1024; i++ { rw.Write([]byte("foo ")) } } func init() { http.HandleFunc("/", foo) go func() { if err := http.ListenAndServe(":8081", nil); err != nil { panic(err) } }() } func main() { resp, err := http.Get("http://localhost:8081/") if err != nil { log.Fatal(err) } defer resp.Body.Close() log.Printf("%#v", resp) bs, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) } log.Print(string(bs)) }