public static bool setGZipCompression_forAjaxRequests(HttpRequestBase request, HttpResponseBase response) { if (request.isNull() || response.isNull()) { return(false); } //based on code from http://geekswithblogs.net/rashid/archive/2007/09/15/Compress-Asp.net-Ajax-Web-Service-Response---Save-Bandwidth.aspx if (TMConfig.Current.enableGZipForWebServices().isFalse()) { return(false); } if (request.Url.isNull() || request.Url.AbsolutePath.starts("/rest")) //disabled it for rest requests { return(false); } try { if (request.ContentType.lower().starts(new List <string> { "text/xml", "application/json" })) { string acceptEncoding = request.Headers["Accept-Encoding"]; if (!string.IsNullOrEmpty(acceptEncoding)) { acceptEncoding = acceptEncoding.ToLower(CultureInfo.InvariantCulture); if (acceptEncoding.Contains("gzip")) { response.Filter = new GZipStream(response.Filter, CompressionMode.Compress); response.AddHeader("Content-encoding", "gzip"); return(true); } if (acceptEncoding.Contains("deflate")) { response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress); response.AddHeader("Content-encoding", "deflate"); return(true); } } } } catch (Exception ex) { ex.log("in enableGZipCompression_forAjaxRequests"); } return(false); }
public static HttpCookie set_Cookie(this HttpResponseBase response, string name, string value) { if (response.isNull() || name.isNull()) { return(null); } var httpCookie = (response.hasCookie(name)) ? response.Cookies[name] : new HttpCookie(name); if (httpCookie.notNull()) { httpCookie.Value = value; if ((response.hasCookie(name).isFalse())) { response.Cookies.Add(httpCookie); } } return(httpCookie); }