code: func NewReverseProxy(bf BackendListFunc, stickyKey *[32]byte, sticky bool, rt RequestTracker, l log15.Logger) *ReverseProxy {
  	return &ReverseProxy{
  		transport: &transport{
  			getBackends:       bf,
  			stickyCookieKey:   stickyKey,
  			useStickySessions: sticky,
  		},
  		FlushInterval:  10 * time.Millisecond,
  		RequestTracker: rt,
  		Logger:         l,
  	}
  }
docs: // NewReverseProxy initializes a new ReverseProxy with a callback to get
  // backends, a stickyKey for encrypting sticky session cookies, and a flag
  // sticky to enable sticky sessions.