Forráskód Böngészése

Windows CI: Allow npipe protocol for sock requests

Signed-off-by: John Howard <jhoward@microsoft.com>
John Howard 9 éve
szülő
commit
08b65e7dd3

+ 2 - 0
integration-cli/docker_utils.go

@@ -577,6 +577,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":

+ 12 - 0
integration-cli/npipe.go

@@ -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")
+}

+ 12 - 0
integration-cli/npipe_windows.go

@@ -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)
+}