Function endChunkedUnflushed [src]

Writes the end-of-stream message and any optional trailers. Does not flush. Asserts that the BodyWriter is using transfer-encoding: chunked. Respects the value of isEliding to omit all data after the headers. See also: endChunked endUnflushed end

Prototype

pub fn endChunkedUnflushed(w: *BodyWriter, options: EndChunkedOptions) Error!void

Parameters

w: *BodyWriteroptions: EndChunkedOptions

Possible Errors

WriteFailed Error

See the Writer implementation for detailed diagnostics.

Source

pub fn endChunkedUnflushed(w: *BodyWriter, options: EndChunkedOptions) Error!void { if (w.isEliding()) { w.state = .end; return; } const bw = w.http_protocol_output; switch (w.state.chunk_len) { 0 => {}, 1 => unreachable, // Wrote more data than specified in chunk header. 2 => try bw.writeAll("\r\n"), else => unreachable, // An earlier write call indicated more data would follow. } try bw.writeAll("0\r\n"); for (options.trailers) |trailer| { try bw.writeAll(trailer.name); try bw.writeAll(": "); try bw.writeAll(trailer.value); try bw.writeAll("\r\n"); } try bw.writeAll("\r\n"); w.state = .end; }