1
0
Fork 0
mirror of https://github.com/Luzifer/gcr-clean.git synced 2024-12-23 11:51:19 +00:00
gcr-clean/vendor/github.com/docker/go-connections/sockets/sockets_unix.go
Knut Ahlers 04cd59c534
Add vendored code
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2019-02-04 16:00:25 +01:00

35 lines
840 B
Go

// +build !windows
package sockets
import (
"fmt"
"net"
"net/http"
"syscall"
"time"
)
const maxUnixSocketPathSize = len(syscall.RawSockaddrUnix{}.Path)
func configureUnixTransport(tr *http.Transport, proto, addr string) error {
if len(addr) > maxUnixSocketPathSize {
return fmt.Errorf("Unix socket path %q is too long", addr)
}
// No need for compression in local communications.
tr.DisableCompression = true
tr.Dial = func(_, _ string) (net.Conn, error) {
return net.DialTimeout(proto, addr, defaultTimeout)
}
return nil
}
func configureNpipeTransport(tr *http.Transport, proto, addr string) error {
return ErrProtocolNotAvailable
}
// DialPipe connects to a Windows named pipe.
// This is not supported on other OSes.
func DialPipe(_ string, _ time.Duration) (net.Conn, error) {
return nil, syscall.EAFNOSUPPORT
}