public RequestResult ProcessRequest(Uri uri, string httpVerb, string formValues, NameValueCollection headers) { if (uri == null) { throw new ArgumentNullException("url"); } // Perform the request LastRequestData.Reset(); var output = new StringWriter(); httpVerb = (httpVerb ?? "GET").ToUpper(); var workerRequest = new SimulatedWorkerRequest(uri, output, Cookies, httpVerb, formValues, headers); var ctx = HttpContext.Current = new HttpContext(workerRequest); HttpRuntime.ProcessRequest(workerRequest); var response = LastRequestData.Response ?? ctx.Response; // Capture the output AddAnyNewCookiesToCookieCollection(response); Session = ctx.Session; return(new RequestResult { ResponseText = output.ToString(), ActionExecutedContext = LastRequestData.ActionExecutedContext, ResultExecutedContext = LastRequestData.ResultExecutedContext, Response = response, }); }
public RequestResult ProcessRequest(Uri uri, string httpVerb, string formValues, NameValueCollection headers) { if (uri == null) throw new ArgumentNullException("url"); // Perform the request LastRequestData.Reset(); var output = new StringWriter(); httpVerb = (httpVerb ?? "GET").ToUpper(); var workerRequest = new SimulatedWorkerRequest(uri, output, Cookies, httpVerb, formValues, headers); var ctx = HttpContext.Current = new HttpContext(workerRequest); HttpRuntime.ProcessRequest(workerRequest); var response = LastRequestData.Response ?? ctx.Response; // Capture the output AddAnyNewCookiesToCookieCollection(response); Session = ctx.Session; return new RequestResult { ResponseText = output.ToString(), ActionExecutedContext = LastRequestData.ActionExecutedContext, ResultExecutedContext = LastRequestData.ResultExecutedContext, Response = response, }; }