github.com/traefik/yaegi@v0.15.1/_test/cli6.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "io" 6 "log" 7 "net/http" 8 "net/http/httptest" 9 ) 10 11 type T struct { 12 http.ResponseWriter 13 } 14 15 type mw1 struct { 16 next http.Handler 17 } 18 19 func (m *mw1) ServeHTTP(rw http.ResponseWriter, rq *http.Request) { 20 t := &T{ 21 ResponseWriter: rw, 22 } 23 x := t.Header() 24 fmt.Fprint(rw, "Welcome to my website!", x) 25 } 26 27 func main() { 28 m1 := &mw1{} 29 30 mux := http.NewServeMux() 31 mux.HandleFunc("/", m1.ServeHTTP) 32 33 server := httptest.NewServer(mux) 34 defer server.Close() 35 36 client(server.URL) 37 } 38 39 func client(uri string) { 40 resp, err := http.Get(uri) 41 if err != nil { 42 log.Fatal(err) 43 } 44 body, err := io.ReadAll(resp.Body) 45 if err != nil { 46 log.Fatal(err) 47 } 48 fmt.Println(string(body)) 49 } 50 51 // Output: 52 // Welcome to my website!map[]