...

Source file src/github.com/docker/go-connections/sockets/tcp_socket.go

Documentation: github.com/docker/go-connections/sockets

     1  // Package sockets provides helper functions to create and configure Unix or TCP sockets.
     2  package sockets
     3  
     4  import (
     5  	"crypto/tls"
     6  	"net"
     7  )
     8  
     9  // NewTCPSocket creates a TCP socket listener with the specified address and
    10  // the specified tls configuration. If TLSConfig is set, will encapsulate the
    11  // TCP listener inside a TLS one.
    12  func NewTCPSocket(addr string, tlsConfig *tls.Config) (net.Listener, error) {
    13  	l, err := net.Listen("tcp", addr)
    14  	if err != nil {
    15  		return nil, err
    16  	}
    17  	if tlsConfig != nil {
    18  		tlsConfig.NextProtos = []string{"http/1.1"}
    19  		l = tls.NewListener(l, tlsConfig)
    20  	}
    21  	return l, nil
    22  }
    23  

View as plain text