/// <summary> /// Gets a proxy Response according to the Accept-Encoding header /// </summary> /// <param name="req">The req.</param> /// <param name="res">The res.</param> /// <returns>A proxy request that compresses the payload</returns> public static IServerResponse GetCompressedResponse(this HttpListenerRequest req, IServerResponse res) { var enc = req.GetAcceptEncoding(); switch (enc) { case EncodingType.Deflate: return(new DeflateResponse(res)); case EncodingType.Gzip: return(new GzipResponse(res)); default: return(res); } }