Zip.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System.IO;
  4. #if NET6_0_OR_GREATER
  5. using System.IO.Compression;
  6. #else
  7. using Best.HTTP.SecureProtocol.Org.BouncyCastle.Utilities.Zlib;
  8. #endif
  9. namespace Best.HTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO.Compression
  10. {
  11. internal static class Zip
  12. {
  13. internal static Stream CompressOutput(Stream stream, int zlibCompressionLevel, bool leaveOpen = false)
  14. {
  15. #if NET6_0_OR_GREATER
  16. return new DeflateStream(stream, ZLib.GetCompressionLevel(zlibCompressionLevel), leaveOpen);
  17. #else
  18. return leaveOpen
  19. ? new ZOutputStreamLeaveOpen(stream, zlibCompressionLevel, true)
  20. : new ZOutputStream(stream, zlibCompressionLevel, true);
  21. #endif
  22. }
  23. internal static Stream DecompressInput(Stream stream)
  24. {
  25. #if NET6_0_OR_GREATER
  26. return new DeflateStream(stream, CompressionMode.Decompress, leaveOpen: false);
  27. #else
  28. return new ZInputStream(stream, true);
  29. #endif
  30. }
  31. }
  32. }
  33. #pragma warning restore
  34. #endif