Files
weave-scope/probe/plugins/unix_round_tripper.go
Alfonso Acosta 9f219badab Stop using the httputil client for plugins
* It sends unexpected TCP RSTs (causing connection reset by peer errors in the python plugin)

  Exception happened during processing of request from
  Traceback (most recent call last):
    File "/usr/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
      self.process_request(request, client_address)
    File "/usr/lib/python2.7/SocketServer.py", line 321, in process_request
      self.finish_request(request, client_address)
    File "./http-requests.py", line 145, in finish_request
      self.RequestHandlerClass(request, '-', self)
    File "/usr/lib/python2.7/SocketServer.py", line 658, in __init__
      self.handle()
    File "/usr/lib/python2.7/BaseHTTPServer.py", line 349, in handle
      self.handle_one_request()
    File "/usr/lib/python2.7/BaseHTTPServer.py", line 312, in handle_one_request
      self.raw_requestline = self.rfile.readline(65537)
    File "/usr/lib/python2.7/socket.py", line 480, in readline
      data = self._sock.recv(self._rbufsize)
  error: [Errno 104] Connection reset by peer

* It doesn't reuse connections
2016-04-12 17:22:39 +01:00

17 lines
314 B
Go

package plugins
import (
"net"
"net/http"
"time"
)
func makeUnixRoundTripper(address string, timeout time.Duration) (http.RoundTripper, error) {
rt := &http.Transport{
Dial: func(proto, addr string) (conn net.Conn, err error) {
return net.DialTimeout("unix", address, timeout)
},
}
return rt, nil
}