直接把net.Listener
注入http.Serve
即可
l, err := net.Listen("unix", sockFileName)
if err != nil {
log.Fatal("Listen error: ", err)
}
defer l.Close()
http.Serve(l,
...,
)
注入http.Client.Transport
,直接無視Dial
的proto
和addr
,直接返回net.Dial("unix", sockFileName)
client := &http.Client{
Transport: &http.Transport{
Dial: func(proto, addr string) (conn net.Conn, err error) {
return net.Dial("unix", sockFileName)
},
},
}
resp, err := client.Get("http://xxx/")