api/plugins/tls_interceptor/protocol_options.go
Peter Kurfer 7c2a41ad25 Move TLS/cert handling to main app
- apply changes in proxy plugin and TLS interceptor
- add HTTPS proxy support
- move ca-generation command to main app
- minor refactoring to improve API stability
- move mocks to extra packages to avoid cycling imports
- fix bug in multi-port configuration
- change HTTP proxy to redirect to HTTP mock instead of maintaining custom rules
2020-04-26 00:32:46 +02:00

33 lines
637 B
Go

package main
import (
"fmt"
"github.com/spf13/viper"
)
const (
targetIpAddressConfigKey = "target.ipAddress"
targetPortConfigKey = "target.port"
)
type redirectionTarget struct {
ipAddress string
port uint16
}
func (rt redirectionTarget) address() string {
return fmt.Sprintf("%s:%d", rt.ipAddress, rt.port)
}
type tlsOptions struct {
redirectionTarget redirectionTarget
}
func loadFromConfig(config *viper.Viper) tlsOptions {
return tlsOptions{
redirectionTarget: redirectionTarget{
ipAddress: config.GetString(targetIpAddressConfigKey),
port: uint16(config.GetInt(targetPortConfigKey)),
},
}
}