public AspNetResponse ProcessRequest(AspNetRequest request) { List <KeyValuePair <string, string> > responseHeaders; byte[] responseBody; string requestVirtualPath = VirtualPathUtility.ToAbsolute(request.FilePath, _virtualPath); int status = ProcessRequest(requestVirtualPath, request.PathInfo, request.QueryString, request.Method, request.Headers, request.Body, out responseHeaders, out responseBody); return(new AspNetResponse(requestVirtualPath, request.QueryString, status, responseHeaders, responseBody)); }
public static AspNetResponse ProcessRequest(AspNetRequest request) { return AppInstance.ProcessRequest(request); }
public HttpPlasmaResponse Post(string url, string queryString = "", byte[] body = null, WebHeaderCollection headers = null) { var request = new AspNetRequest(url, null, queryString, "POST", CreateRequestHeaders(headers), body); return new HttpPlasmaResponse(ProcessRequest(request)); }
private AspNetResponse ProcessRequest(AspNetRequest request) { var response = application.ProcessRequest(request); ExtractCookies(response); return FollowAnyRedirect(response); }
private AspNetResponse FollowAnyRedirect(AspNetResponse response) { if (response.Status == 302 || response.Status == 301) { var location = response.Headers.First(x => x.Key == "Location").Value; var locationUri = new Uri(location, UriKind.RelativeOrAbsolute); var url = locationUri.IsAbsoluteUri ? locationUri.PathAndQuery : location; var request = new AspNetRequest(url, null, null, "GET", CreateRequestHeaders(new WebHeaderCollection()), null); return ProcessRequest(request); } return response; }