Peter Kurfer
7c2a41ad25
- 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
49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
package config
|
|
|
|
import (
|
|
"github.com/baez90/inetmock/pkg/api"
|
|
"github.com/spf13/viper"
|
|
)
|
|
|
|
type MultiHandlerConfig interface {
|
|
HandlerName() string
|
|
ListenAddress() string
|
|
Ports() []uint16
|
|
Options() *viper.Viper
|
|
HandlerConfigs() []api.HandlerConfig
|
|
}
|
|
|
|
type multiHandlerConfig struct {
|
|
handlerName string
|
|
ports []uint16
|
|
listenAddress string
|
|
options *viper.Viper
|
|
}
|
|
|
|
func NewMultiHandlerConfig(handlerName string, ports []uint16, listenAddress string, options *viper.Viper) MultiHandlerConfig {
|
|
return &multiHandlerConfig{handlerName: handlerName, ports: ports, listenAddress: listenAddress, options: options}
|
|
}
|
|
|
|
func (m multiHandlerConfig) HandlerName() string {
|
|
return m.handlerName
|
|
}
|
|
|
|
func (m multiHandlerConfig) ListenAddress() string {
|
|
return m.listenAddress
|
|
}
|
|
|
|
func (m multiHandlerConfig) Ports() []uint16 {
|
|
return m.ports
|
|
}
|
|
|
|
func (m multiHandlerConfig) Options() *viper.Viper {
|
|
return m.options
|
|
}
|
|
|
|
func (m multiHandlerConfig) HandlerConfigs() []api.HandlerConfig {
|
|
configs := make([]api.HandlerConfig, 0)
|
|
for _, port := range m.ports {
|
|
configs = append(configs, api.NewHandlerConfig(m.handlerName, port, m.listenAddress, m.options))
|
|
}
|
|
return configs
|
|
}
|