treesummaryrefslogcommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/http.zig19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/http.zig b/src/http.zig
index e89fd2a..378bca7 100644
--- a/src/http.zig
+++ b/src/http.zig
@@ -62,7 +62,7 @@ pub const Server = struct {
var addr: std.os.linux.sockaddr = undefined;
var addr_size: std.c.socklen_t = @sizeOf(std.c.sockaddr);
_ = std.c.getpeername(client_socket, &addr, &addr_size);
- std.debug.print("new connection from {} [{}/{}]\n", .{ addr, @sizeOf(std.os.linux.sockaddr), addr_size });
+ // std.debug.print("new connection from {} [{}/{}]\n", .{ addr, @sizeOf(std.os.linux.sockaddr), addr_size });
} else {
var closed = false;
var req = Request{ .fd = ready_socket };
@@ -73,8 +73,8 @@ pub const Server = struct {
read += newly_read;
if (newly_read == 0)
break;
- std.debug.print("[[{}/{}]]\n", .{ newly_read, read });
- std.time.sleep(100000000);
+ // std.debug.print("[[{}/{}]]\n", .{ newly_read, read });
+ // std.time.sleep(100000000);
}
if (read == 0) {
closed = true;
@@ -366,20 +366,23 @@ pub const Response = struct {
pub fn send(self: *Response) !void {
// TODO: Provisorium
const compress = false;
- var compress_buffer = try std.BoundedArray(u8, 1024 * 32).init(0);
+ const CompressBuffer = struct {
+ var compress_buffer: std.BoundedArray(u8, 1024 * 32) = undefined;
+ };
+ try CompressBuffer.compress_buffer.resize(0);
// write head
const writer = self.stream_head.writer();
if (compress) {
var cfbs = std.io.fixedBufferStream(self.stream_body.getWritten());
- var compressor = try std.compress.gzip.compressor(compress_buffer.writer(), .{ .level = .default });
+ var compressor = try std.compress.gzip.compressor(CompressBuffer.compress_buffer.writer(), .{ .level = .default });
try compressor.compress(cfbs.reader());
// try compressor.flush();
try compressor.finish();
try std.fmt.format(writer, "HTTP/1.1 {} {?s}\r\n" ++
"Content-Length: {}\r\n" ++
- "Content-Encoding: gzip\r\n", .{ @intFromEnum(self.status), self.status.phrase(), compress_buffer.constSlice().len });
+ "Content-Encoding: gzip\r\n", .{ @intFromEnum(self.status), self.status.phrase(), CompressBuffer.compress_buffer.constSlice().len });
} else {
try std.fmt.format(writer, "HTTP/1.1 {} {?s}\r\n" ++
"Content-Length: {}\r\n", .{ @intFromEnum(self.status), self.status.phrase(), self.stream_body.pos });
@@ -393,9 +396,9 @@ pub const Response = struct {
// write body to head
if (compress) {
- try std.fmt.format(writer, "{s}", .{compress_buffer.constSlice()});
+ try writer.writeAll(CompressBuffer.compress_buffer.constSlice());
} else {
- try std.fmt.format(writer, "{s}", .{self.stream_body.getWritten()});
+ try writer.writeAll(self.stream_body.getWritten());
}
// send