// Package udp reads and write from a udp connection package udp import ( "io" "net" "net/http" ) type Handler struct{} func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { c, err := net.Dial("udp", r.Host) if err != nil { http.Error(w, err.Error(), 500) return } go io.Copy(c, r.Body) // write response io.Copy(w, c) } func (h *Handler) String() string { return "udp" }