aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--comments/build.zig18
-rw-r--r--comments/build.zig.zon34
-rw-r--r--comments/src/main.zig41
3 files changed, 45 insertions, 48 deletions
diff --git a/comments/build.zig b/comments/build.zig
index eb8f8fb..3293e4c 100644
--- a/comments/build.zig
+++ b/comments/build.zig
@@ -27,20 +27,20 @@ pub fn build(b: *std.Build) void {
});
const zws = b.dependency("zigwebserver", opts);
- exe.addModule("zws", zws.module("zigwebserver"));
- exe.linkLibrary(zws.artifact("zigwebserver"));
+ exe.root_module.addImport("zws", zws.module("zigwebserver"));
const pq = b.dependency("pq", opts);
- exe.addModule("pq", pq.module("pq"));
- exe.linkLibrary(pq.artifact("pq"));
+ exe.root_module.addImport("pq", pq.module("pq"));
+ exe.linkLibC();
+ exe.linkSystemLibrary("pq");
const mustache = b.dependency("mustache", opts);
- exe.addModule("mustache", mustache.module("mustache"));
- exe.linkLibrary(mustache.artifact("mustache-static"));
+ exe.root_module.addImport("mustache", mustache.module("mustache"));
const smtp = b.dependency("smtp", opts);
- exe.addModule("smtp", smtp.module("smtp"));
- exe.linkLibrary(smtp.artifact("smtp"));
+ exe.root_module.addImport("smtp", smtp.module("smtp"));
+
+
// This declares intent for the executable to be installed into the
// standard location when the user invokes the "install" step (the default
@@ -77,7 +77,7 @@ pub fn build(b: *std.Build) void {
.target = target,
.optimize = optimize,
});
- unit_tests.addModule("mustache", mustache.module("mustache"));
+ unit_tests.root_module.addImport("mustache", mustache.module("mustache"));
const run_unit_tests = b.addRunArtifact(unit_tests);
diff --git a/comments/build.zig.zon b/comments/build.zig.zon
index 5efceff..ebb6cf2 100644
--- a/comments/build.zig.zon
+++ b/comments/build.zig.zon
@@ -1,22 +1,18 @@
.{
.name = "comments",
.version = "0.0.1",
- .dependencies = .{
- .pq = .{
- .url = "https://code.mfashby.net/pq-zig/snapshot/pq-zig-main.tar.xz",
- .hash = "1220002a8cba96583acc07775b060911c9bd74271fb127992ac21854a12274c4ab48",
- },
- .smtp = .{
- .url = "https://code.mfashby.net/smtp-zig/snapshot/smtp-zig-main.tar.xz",
- .hash = "1220d9279300c447871a56b8eec1a7f179b99a971b37923cb42ccf6afd3b24b9eaa0",
- },
- .mustache = .{
- .url = "https://github.com/MFAshby/mustache-zig/archive/refs/heads/stage3.tar.gz",
- .hash = "1220fdf239b6ece687324bb600c72d5ad7a278df2ece86599aee6adf932064686cef",
- },
- .zigwebserver = .{
- .url = "https://code.mfashby.net/zigwebserver/snapshot/zigwebserver-main.tar.xz",
- .hash = "122066ea438ccbe3e006e84563746705cd46f3c7d1389c8fa8cccf2cdf681959495e",
- }
- }
-} \ No newline at end of file
+ .dependencies = .{ .pq = .{
+ .url = "https://code.mfashby.net/pq-zig/snapshot/pq-zig-main.tar.xz",
+ .hash = "12201517d080461a76f4b26ff78a810d80b1d58e2d3f382da30de1055ebdcea3feaf",
+ }, .smtp = .{
+ .url = "https://code.mfashby.net/smtp-zig/snapshot/smtp-zig-main.tar.xz",
+ .hash = "1220b85b46b525e725f8fdb6e23189aa365976acf388e3b2a5a4da364851c3ec4252",
+ }, .mustache = .{
+ .url = "https://github.com/batiati/mustache-zig/archive/refs/heads/master.tar.gz",
+ .hash = "122099facef1728bd1118fac3a9444f5daca7278046e734a25f03f7e20bad2b5cb28",
+ }, .zigwebserver = .{
+ .url = "https://code.mfashby.net/zigwebserver/snapshot/zigwebserver-main.tar.xz",
+ .hash = "122084fc67129e92544a86f10ca9a64f2667682aa7dfd6a12a80c374015a33555df6",
+ } },
+ .paths = .{""},
+}
diff --git a/comments/src/main.zig b/comments/src/main.zig
index 8710d95..ac8193e 100644
--- a/comments/src/main.zig
+++ b/comments/src/main.zig
@@ -7,33 +7,34 @@ const smtp = @import("smtp");
const Params = zws.Params;
const Err = error{
- Unexpected,
AccessDenied,
- OutOfMemory,
- InputOutput,
- SystemResources,
- IsDir,
- OperationAborted,
BrokenPipe,
+ ColumnNotFound,
ConnectionResetByPeer,
ConnectionTimedOut,
- NotOpenForReading,
- NetNameDeleted,
- WouldBlock,
- StreamTooLong,
- Malformatted,
- InvalidLength,
- InvalidCharacter,
- NoSpaceLeft,
- PqError,
- ColumnNotFound,
+ DeviceBusy,
DiskQuota,
FileTooBig,
- DeviceBusy,
+ InputOutput,
InvalidArgument,
- NotOpenForWriting,
- LockViolation,
+ InvalidCharacter,
+ InvalidLength,
InvalidRequestMethod,
+ IsDir,
+ LockViolation,
+ Malformatted,
+ NetNameDeleted,
+ NoSpaceLeft,
+ NotOpenForReading,
+ NotOpenForWriting,
+ OperationAborted,
+ OutOfMemory,
+ PqError,
+ SocketNotConnected,
+ StreamTooLong,
+ SystemResources,
+ Unexpected,
+ WouldBlock,
};
const Ctx = struct {
db: pq.Db,
@@ -204,7 +205,7 @@ fn get_comment(res: *Response, ctx: Ctx, _: Params) Err!void {
fn post_comment(res: *Response, ctx: Ctx, _: Params) Err!void {
var body_aa = std.ArrayList(u8).init(res.allocator);
try res.reader().readAllArrayList(&body_aa, 1_000_000);
- var body = try body_aa.toOwnedSlice();
+ const body = try body_aa.toOwnedSlice();
var form = try zws.Form.parse(res.allocator, body);
const Form = struct {
url: []const u8,