union Decompress [src]

Fields

flate: std.compress.flate.Decompress
zstd: std.compress.zstd.Decompress
none: *std.Io.Reader

Members

Source

pub const Decompress = union(enum) { flate: std.compress.flate.Decompress, zstd: std.compress.zstd.Decompress, none: *std.Io.Reader, pub fn init( decompress: *Decompress, transfer_reader: *std.Io.Reader, buffer: []u8, content_encoding: ContentEncoding, ) *std.Io.Reader { switch (content_encoding) { .identity => { decompress.* = .{ .none = transfer_reader }; return transfer_reader; }, .deflate => { decompress.* = .{ .flate = .init(transfer_reader, .zlib, buffer) }; return &decompress.flate.reader; }, .gzip => { decompress.* = .{ .flate = .init(transfer_reader, .gzip, buffer) }; return &decompress.flate.reader; }, .zstd => { decompress.* = .{ .zstd = .init(transfer_reader, buffer, .{ .verify_checksum = false }) }; return &decompress.zstd.reader; }, .compress => unreachable, } } }