github.com/traefik/yaegi@v0.15.1/_test/server6.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "net/http" 6 ) 7 8 var myHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 9 w.Write([]byte("hello world")) 10 }) 11 12 type T1 struct { 13 Name string 14 } 15 16 func (t *T1) Handler(h http.Handler) http.Handler { 17 fmt.Println("#1", t.Name) 18 return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 19 fmt.Println("#2", t.Name) 20 h.ServeHTTP(w, r) 21 }) 22 } 23 24 func main() { 25 t := &T1{"myName"} 26 handler := t.Handler(myHandler) 27 http.ListenAndServe(":8080", handler) 28 }