internal static Stream Create(HttpCompression type, Stream stream, bool leaveOpen = true) { switch (type) { case HttpCompression.Gzip: return(new GZipStream(stream, CompressionMode.Decompress, leaveOpen)); case HttpCompression.Deflate: return(new DeflateStream(stream, CompressionMode.Decompress, leaveOpen)); case HttpCompression.Brotli: return(new BrotliSharpLib.BrotliStream(stream, CompressionMode.Decompress, leaveOpen)); default: throw new Exception($"Unsupported decompression mode: {type}"); } }
public override int GetHashCode() { unchecked { var hashCode = RequestTimeout.GetHashCode(); hashCode = (hashCode * 397) ^ PingTimeout.GetHashCode(); hashCode = (hashCode * 397) ^ KeepAliveTime; hashCode = (hashCode * 397) ^ KeepAliveInterval; hashCode = (hashCode * 397) ^ Pipelined.GetHashCode(); hashCode = (hashCode * 397) ^ HttpCompression.GetHashCode(); hashCode = (hashCode * 397) ^ (Headers?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (ProxyAddress?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (ProxyUsername?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (ProxyPassword?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ DisableAutomaticProxyDetection.GetHashCode(); hashCode = (hashCode * 397) ^ (BasicAuthorizationCredentials?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (ConnectionSettings?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (MemoryStreamFactory?.GetHashCode() ?? 0); return(hashCode); } }
public static Stream GetInputStream(Stream inputStream, HttpCompression contentCompression) { switch (contentCompression) { case HttpCompression.Gzip: { return new GZipStream(inputStream, CompressionMode.Decompress, false); } case HttpCompression.Deflate: { return new DeflateStream(inputStream, CompressionMode.Decompress, false); } default: { return inputStream; } } }