Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › std/ › http.zig › Decompress
Decompress
http.Decompress
pub const Decompress = union (enum )
File
Code
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 ,
}
}
}