// Initializes service from the command line args func NewService() (*Service, error) { options, err := parseOptions() if err != nil { return nil, err } return &Service{options: options, metrics: metrics.NewProxyMetrics()}, nil }
func (s *ProxySuite) newProxyWithTimeouts( code string, b backend.Backend, l loadbalance.Balancer, readTimeout time.Duration, dialTimeout time.Duration) *httptest.Server { controller := s.newController(code) proxySettings := &ProxySettings{ Controller: controller, ThrottlerBackend: b, LoadBalancer: l, HttpReadTimeout: readTimeout, HttpDialTimeout: dialTimeout, } s.metrics = metrics.NewProxyMetrics() proxy, err := NewReverseProxy(&s.metrics, proxySettings) if err != nil { panic(err) } controller.Client = proxy return httptest.NewServer(proxy) }