code: func New(trafficControllerUrl string, tlsConfig *tls.Config, proxy func(*http.Request) (*url.URL, error)) *Consumer {
  	if proxy == nil {
  		proxy = http.ProxyFromEnvironment
  	}
  
  	return &Consumer{
  		trafficControllerUrl: trafficControllerUrl,
  		debugPrinter:         nullDebugPrinter{},
  		client: &http.Client{
  			Transport: &http.Transport{
  				Proxy:               proxy,
  				TLSClientConfig:     tlsConfig,
  				TLSHandshakeTimeout: internal.Timeout,
  				DisableKeepAlives:   true,
  			},
  			Timeout: internal.Timeout,
  		},
  		minRetryDelay: int64(DefaultMinRetryDelay),
  		maxRetryDelay: int64(DefaultMaxRetryDelay),
  		maxRetryCount: int64(DefaultMaxRetryCount),
  		dialer: websocket.Dialer{
  			HandshakeTimeout: internal.Timeout,
  			Proxy:            proxy,
  			TLSClientConfig:  tlsConfig,
  		},
  		recentPathBuilder: defaultRecentPathBuilder,
  		streamPathBuilder: defaultStreamPathBuilder,
  	}
  }
docs: // New creates a new consumer to a trafficcontroller.