| 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 {
- }
|