Skip to content

Commit 7e7d176

Browse files
1 parent 3ed0c97 commit 7e7d176

4 files changed

Lines changed: 11 additions & 5 deletions

File tree

build.zig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ pub fn build(b: *std.Build) !void {
124124
});
125125

126126
b.installFile("src/index.html", "index.html");
127+
b.installFile("src/404.html", "404.html");
127128
b.installFile("src/pcm-processor.js", "pcm-processor.js");
128129
b.installFile("src/wasmpcm.js", "wasmpcm.js");
129130
b.installFile("src/ringbuf.js", "ringbuf.js");
@@ -192,7 +193,7 @@ pub fn build(b: *std.Build) !void {
192193
.name = "serve",
193194
.root_module = b.createModule(.{
194195
.root_source_file = b.path("httpserver/serve.zig"),
195-
.target = target,
196+
.target = hosttarget,
196197
.optimize = optimize,
197198
}),
198199
});

httpserver/root.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ pub fn deinit(s: *Server, allocator: std.mem.Allocator) void {
169169
s.* = undefined;
170170
}
171171

172-
pub const ServeError = error{FileNotFound} || std.http.Server.Response.WriteError;
172+
pub const ServeError = error{FileNotFound} || error{HttpExpectationFailed,WriteFailed};
173173

174174
pub fn serve(s: *Server, request: *std.http.Server.Request) ServeError!void {
175175
const path = request.head.target;

httpserver/serve.zig

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,16 @@ pub fn main() !void {
6565
std.debug.print("Listening at http://127.0.0.1:{d}/\n", .{port});
6666

6767
var read_buffer: [8000]u8 = undefined;
68+
var write_buffer: [8000]u8 = undefined;
6869
accept: while (true) {
69-
const connection = try http_server.accept();
70+
var connection = try http_server.accept();
7071
defer connection.stream.close();
7172

72-
var server = std.http.Server.init(connection, &read_buffer);
73-
while (server.state == .ready) {
73+
var reader = connection.stream.reader(&read_buffer);
74+
var writer = connection.stream.writer(&write_buffer);
75+
76+
var server = std.http.Server.init(reader.interface(), &writer.interface);
77+
while (server.reader.state == .ready) {
7478
var request = server.receiveHead() catch |err| {
7579
std.debug.print("error: {s}\n", .{@errorName(err)});
7680
continue :accept;

src/404.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Not found!

0 commit comments

Comments
 (0)