Advtools.AdvInterceptor.Interceptor.BuildRequestResponse C# (CSharp) Method

BuildRequestResponse() private method

private BuildRequestResponse ( IRequest originalRequest, IPEndPoint remote, IResponse originalResponse, int messageNumber ) : void
originalRequest IRequest
remote System.Net.IPEndPoint
originalResponse IResponse
messageNumber int
return void
        private void BuildRequestResponse(IRequest originalRequest, IPEndPoint remote, IResponse originalResponse, int messageNumber)
        {
            state_.Logger.Information("{0} {1} {2}{3}", originalRequest.Method, originalRequest.Uri.Scheme, originalRequest.Uri.Host, originalRequest.Uri.AbsolutePath);
            state_.Logger.Debug("  " + originalRequest.Uri.Query);

            HttpWebRequest request = PrepareRequest(originalRequest, remote, messageNumber);
            try
            {
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                WriteResponse(originalRequest, originalResponse, response, messageNumber);
            }
            catch(WebException ex)
            {
                state_.Logger.Exception(ex, "Error requesting {0}", request.RequestUri);
                if(ex.Response != null)
                    WriteResponse(originalRequest, originalResponse, (HttpWebResponse)ex.Response, messageNumber);
                else
                    originalResponse.Status = HttpStatusCode.InternalServerError;
            }
        }