func (proxy *Proxy) serveWithDoppler(writer http.ResponseWriter, request *http.Request, dopplerEndpoint doppler_endpoint.DopplerEndpoint) { messagesChan := make(chan []byte, 100) stopChan := make(chan struct{}) defer close(stopChan) go proxy.connector.Connect(dopplerEndpoint, messagesChan, stopChan) handler := dopplerEndpoint.HProvider(messagesChan, proxy.logger) handler.ServeHTTP(writer, request) }