private HttpWebRequest PrepareRequest(IRequest originalRequest, IPEndPoint remote, int messageNumber)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ConstructUrl(originalRequest, remote));
request.Host = originalRequest.Uri.Host;
request.Method = originalRequest.Method;
if(originalRequest.ContentType != null)
request.ContentType = originalRequest.ContentType.Value;
PrepareProxy(request);
PrepareRequestCookies(request, originalRequest);
PrepareRequestHeaders(request, originalRequest);
PrepareRequestContent(request, originalRequest, messageNumber);
return request;
}