DoxigAlpha

chunkedDiscard

Function parameters

Parameters

#
io_r:*std.Io.Reader
limit:std.Io.Limit

Type definitions in this namespace

Types

#
Method
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
Status
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
TransferEncoding
compression is intentionally omitted here since it is handled in `ContentEncoding`.
BodyWriter
Request or response body.

Source

Implementation

#
fn chunkedDiscard(io_r: *std.Io.Reader, limit: std.Io.Limit) std.Io.Reader.Error!usize {
    const reader: *Reader = @alignCast(@fieldParentPtr("interface", io_r));
    const chunk_len_ptr = switch (reader.state) {
        .ready => return error.EndOfStream,
        .body_remaining_chunk_len => |*x| x,
        else => unreachable,
    };
    return chunkedDiscardEndless(reader, limit, chunk_len_ptr) catch |err| switch (err) {
        error.ReadFailed => return error.ReadFailed,
        error.EndOfStream => {
            reader.body_err = error.HttpChunkTruncated;
            return error.ReadFailed;
        },
        else => |e| {
            reader.body_err = e;
            return error.ReadFailed;
        },
    };
}