| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | package httpimport "crypto/tls"// CertificateConfig is the config for TLS certificates used in HTTP proxy.type CertificateConfig struct {	Domain      string	Certificate tls.Certificate}// TlsConfig is the config for TLS connections.type TLSConfig struct {	Enabled bool	Certs   []*CertificateConfig}// GetConfig returns corresponding tls.Config.func (this *TLSConfig) GetConfig() *tls.Config {	if !this.Enabled {		return nil	}	config := &tls.Config{		InsecureSkipVerify: false,	}	config.Certificates = make([]tls.Certificate, len(this.Certs))	for index, cert := range this.Certs {		config.Certificates[index] = cert.Certificate	}	config.BuildNameToCertificate()	return config}// Config for HTTP proxy server.type Config struct {	TLSConfig *TLSConfig}// ClientConfig for HTTP proxy client.type ClientConfig struct {}
 |