An HTTP/1.1 server for zig
0

Configure Feed

Select the types of activity you want to include in your feed.

Expose a `response.writeHeader()` function

https://github.com/karlseguin/http.zig/issues/108#issuecomment-3123612037

Karl Seguin (Jul 27, 2025, 10:40 AM +0800) 8b4e4322 9c71de8d

+8 -8
+8 -8
src/response.zig
··· 126 126 127 127 // caller probably expects this to be in blocking mode 128 128 try conn.blockingMode(); 129 - const header_buf = try self.prepareHeader(); 130 - try stream.writeAll(header_buf); 131 - 129 + try self.writeHeader(); 132 130 try self.disown(); 133 131 134 132 const thread = try std.Thread.spawn(.{}, handler, .{ ctx, stream }); ··· 144 142 const stream = conn.stream; 145 143 146 144 // just keep it in non-blocking mode and return the stream 147 - const header_buf = try self.prepareHeader(); 148 - try stream.writeAll(header_buf); 149 - 145 + try self.writeHeader(); 150 146 try self.disown(); 151 147 return stream; 152 148 } ··· 155 151 const conn = self.conn; 156 152 if (!self.chunked) { 157 153 self.chunked = true; 158 - const header_buf = try self.prepareHeader(); 159 - try conn.writeAll(header_buf); 154 + try self.writeHeader(); 160 155 } 161 156 162 157 // enough for a 1TB chunk ··· 183 178 184 179 pub fn writer(self: *Response) Writer { 185 180 return Writer.init(self); 181 + } 182 + 183 + pub fn writeHeader(self: *Response) !void { 184 + const header_buf = try self.prepareHeader(); 185 + return self.conn.writeAll(header_buf); 186 186 } 187 187 188 188 pub fn write(self: *Response) !void {