gitee.com/liuxuezhan/go-micro-v1.18.0@v1.0.0/api/handler/udp/udp.go (about) 1 // Package udp reads and write from a udp connection 2 package udp 3 4 import ( 5 "io" 6 "net" 7 "net/http" 8 ) 9 10 type Handler struct{} 11 12 func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { 13 c, err := net.Dial("udp", r.Host) 14 if err != nil { 15 http.Error(w, err.Error(), 500) 16 return 17 } 18 go io.Copy(c, r.Body) 19 // write response 20 io.Copy(w, c) 21 } 22 23 func (h *Handler) String() string { 24 return "udp" 25 }