const std = @import("std"); pub const Message = union(enum) { void: void, static: []const u8, file_content: std.Io.File, pub fn string(content: []const u8) Message { return .{ .static = content }; } pub fn file(io: std.Io, path: []const u8) !Message { return .{ .file_content = try std.Io.Dir.cwd().openFile(io, path, .{ .allow_directory = false, }) }; } }; status: std.http.Status, message: Message, pub fn with(status: std.http.Status, message: Message) @This() { return .{ .status = status, .message = message }; } pub fn ok(message: Message) @This() { return with(.ok, message); }