/// <summary> /// Resynchronizes calls performed from the thread where this instance has been created. /// </summary> /// <param name="page"></param> /// <param name="settings"></param> /// <param name="async"></param> /// <returns></returns> public override bool ProcessSynchron(HtmlPage page, WebRequest settings, bool async) { if (async && IsInOriginalThread()) { LOG.Info("Re-synchronized call to " + settings.Url); return true; } return !async; }
/// <summary> /// Wraps the provide response for the given request /// </summary> /// <param name="cachedResponse">the response from cache</param> /// <param name="currentRequest">the new request</param> public WebResponseFromCache(WebResponse cachedResponse, WebRequest currentRequest) : base(cachedResponse) { request_ = currentRequest; }
/// <summary> /// Adds a new page to the navigation history. /// </summary> /// <param name="page">the page to add to the navigation history</param> protected void AddPage(IPage page) { bool ignoreNewPages = ignoreNewPages_; if (ignoreNewPages != null && ignoreNewPages) { return; } index_++; while (webRequests_.Count > index_) { webRequests_.RemoveAt(index_); } WebRequest request = page.WebResponse.WebRequest; WebRequest newRequest = new WebRequest(request.Url, request.HttpMethod); newRequest.RequestParameters = request.RequestParameters; webRequests_.Add(newRequest); }
/// <summary> /// Gets notified of an AJAX call to determine how it should be processed. /// </summary> /// <param name="page">the page the request comes from</param> /// <param name="request">the request that should be performed</param> /// <param name="async">indicates if the request should originally be asynchronous</param> /// <returns>if the call should be synchronous or not; here just like the original call</returns> public bool ProcessSynchron(HtmlPage page, WebRequest request, bool async) { return !async; }
private static WebRequest BuildWebRequest(URL originatingURL, String charset) { WebRequest webRequest = new WebRequest(originatingURL, HttpMethod.GET); webRequest.Charset = charset; return webRequest; }
/// <summary> /// Constructs with all data. /// </summary> /// <param name="responseData">Data that was send back</param> /// <param name="request">the request used to get this response</param> /// <param name="loadTime">How long the response took to be sent</param> public WebResponse(WebResponseData responseData, WebRequest request, long loadTime) { responseData_ = responseData; request_ = request; loadTime_ = loadTime; }