public void Index() { HttpRequest request = System.Web.HttpContext.Current.Request; HttpResponse response = System.Web.HttpContext.Current.Response; if (request.Headers["If-Modified-Since"] != null) { response.StatusCode = (int)HttpStatusCode.NotModified; return; } if (request.Params[ProxyBase.REWRITE_MIME_TYPE_PARAM] != null) { response.ContentType = request.Params[ProxyBase.REWRITE_MIME_TYPE_PARAM]; } if (request.Params[ProxyBase.REFRESH_PARAM] != null) { int ttl = 0; int.TryParse(request.Params[ProxyBase.REFRESH_PARAM], out ttl); HttpUtil.SetCachingHeaders(response, ttl); } response.AddHeader("Content-Disposition", "attachment;filename=p.txt"); HttpResponseWrapper wrapper = new HttpResponseWrapper(response); for (int i = 1; i < int.MaxValue; i++) { string url = request.Params[i.ToString()]; if (url == null) { break; } try { wrapper.Write(Encoding.UTF8.GetBytes("/* ---- Start " + url + " ---- */")); proxyHandler.Fetch(new RequestWrapper(System.Web.HttpContext.Current, url, true), wrapper); if (wrapper.getStatus() != (int)HttpStatusCode.OK) { wrapper.Write(Encoding.UTF8.GetBytes( formatHttpError(wrapper.getStatus(), wrapper.getErrorMessage()))); } wrapper.Write(Encoding.UTF8.GetBytes("/* ---- End " + url + " ---- */")); } catch (GadgetException ge) { if (ge.getCode() != GadgetException.Code.FAILED_TO_RETRIEVE_CONTENT) { outputError(ge, url, response); return; } else { wrapper.Write(Encoding.UTF8.GetBytes("/* ---- End " + url + " 404 ---- */")); } } } response.End(); }
public void Index() { HttpResponse response = System.Web.HttpContext.Current.Response; HttpResponseWrapper wrapper = new HttpResponseWrapper(response); try { proxyHandler.Fetch(new ProxyRequestWrapper(System.Web.HttpContext.Current), wrapper); } catch (Exception ex) { outputError(ex, response); return; } response.End(); }