void ListenerOnConnectionEstablished(object sender, ConnectionEstablishedEventArgs connectionEstablishedEventArgs) { // TODO: Abstract server selection var selectedServer = _servers.First(); using (var clientStream = connectionEstablishedEventArgs.Client.GetStream()) using (var client = HttpProxyConfiguration.HttpClientFactory()) using (var requestMessage = _requestMessageBuilder.BuildRequestFromRequestStream(selectedServer, clientStream)) { var responseMessage = client.SendAsync(requestMessage).Result; using (responseMessage) _responseStreamWriter.WriteHttpResponseToClientStream(responseMessage, clientStream); } }
protected virtual void OnConnectionEstablished(ConnectionEstablishedEventArgs e) { if (ConnectionEstablished != null) ConnectionEstablished(this, e); }