code: func TLSListener(addr string, config *tls.Config) (Listener, error) {
  	if config == nil {
  		config = DefaultTLSConfig
  	}
  	ln, err := net.Listen("tcp", addr)
  	if err != nil {
  		return nil, err
  	}
  
  	ln = tls.NewListener(tcpKeepAliveListener{ln.(*net.TCPListener)}, config)
  	return &tlsListener{ln}, nil
  }
docs: // TLSListener creates a Listener for TLS proxy server.