Merge pull request #20884 from Microsoft/jjh/integusenpipe

Windows CI: Allow npipe protocol for sock requests
Upstream-commit: 361a63e5f2b12c62bc3d9d7393129b323b41694a
Component: engine
This commit is contained in:
Brian Goff
2016-03-02 20:15:49 -05:00
3 changed files with 26 additions and 0 deletions

View File

@ -576,6 +576,8 @@ func sockConn(timeout time.Duration) (net.Conn, error) {
var c net.Conn
switch daemonURL.Scheme {
case "npipe":
return npipeDial(daemonURL.Path, timeout)
case "unix":
return net.DialTimeout(daemonURL.Scheme, daemonURL.Path, timeout)
case "tcp":

View File

@ -0,0 +1,12 @@
// +build !windows
package main
import (
"net"
"time"
)
func npipeDial(path string, timeout time.Duration) (net.Conn, error) {
panic("npipe protocol only supported on Windows")
}

View File

@ -0,0 +1,12 @@
package main
import (
"net"
"time"
"github.com/Microsoft/go-winio"
)
func npipeDial(path string, timeout time.Duration) (net.Conn, error) {
return winio.DialPipe(path, &timeout)
}