| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- package http
 
- import "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 {
 
- }
 
 
  |