Function sendBodyUnflushed [src]

Transfers the HTTP head over the connection, which is not flushed until BodyWriter.flush or BodyWriter.end is called. See also: sendBody

Prototype

pub fn sendBodyUnflushed(r: *Request, buffer: []u8) Writer.Error!http.BodyWriter

Parameters

r: *Requestbuffer: []u8

Source

pub fn sendBodyUnflushed(r: *Request, buffer: []u8) Writer.Error!http.BodyWriter { assert(r.method.requestHasBody()); try sendHead(r); const http_protocol_output = r.connection.?.writer(); return switch (r.transfer_encoding) { .chunked => .{ .http_protocol_output = http_protocol_output, .state = .init_chunked, .writer = .{ .buffer = buffer, .vtable = &.{ .drain = http.BodyWriter.chunkedDrain, .sendFile = http.BodyWriter.chunkedSendFile, }, }, }, .content_length => |len| .{ .http_protocol_output = http_protocol_output, .state = .{ .content_length = len }, .writer = .{ .buffer = buffer, .vtable = &.{ .drain = http.BodyWriter.contentLengthDrain, .sendFile = http.BodyWriter.contentLengthSendFile, }, }, }, .none => .{ .http_protocol_output = http_protocol_output, .state = .none, .writer = .{ .buffer = buffer, .vtable = &.{ .drain = http.BodyWriter.noneDrain, .sendFile = http.BodyWriter.noneSendFile, }, }, }, }; }