pub fn endUnflushed(w: *BodyWriter) Error!void w: *BodyWriter819
820
821
822
823
824
825
826
827
828
829
830 pub fn endUnflushed(w: *BodyWriter) Error!void {
try w.writer.flush();
switch (w.state) {
.end => unreachable,
.content_length => |len| {
assert(len == 0); // Trips when end() called before all bytes written.
w.state = .end;
},
.none => {},
.chunk_len => return endChunkedUnflushed(w, .{}),
}
}
When using content-length, asserts that the amount of data sent matches the value sent in the header.
Otherwise, transfer-encoding: chunked is being used, and it writes the end-of-stream message with empty trailers.
Respects the value of
isElidingto omit all data after the headers.Does not flush
http_protocol_output, but does flushwriter.See also:
endendChunked