Exemple #1
0
        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);
 }
Exemple #3
0
 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));
 }
Exemple #4
0
 private AspNetResponse ProcessRequest(AspNetRequest request)
 {
     var response = application.ProcessRequest(request);
     ExtractCookies(response);
     return FollowAnyRedirect(response);
 }
Exemple #5
0
 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;
 }