aboutsummaryrefslogtreecommitdiff
path: root/src/routes/api/image/load.zig
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2025-11-17 09:57:09 +0100
committerNathan Reiner <nathan@nathanreiner.xyz>2025-11-17 09:57:09 +0100
commite95cf5c7b6a08eb560763d5167fbddc1c2117bcc (patch)
tree2f7815c9f39328fcaced2113de727f63e4837fa3 /src/routes/api/image/load.zig
parent0016aaa197697ec5ff38dfb3f63ac8b6f74b48e0 (diff)
add file uploading and multi-threading
Diffstat (limited to 'src/routes/api/image/load.zig')
-rw-r--r--src/routes/api/image/load.zig14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/routes/api/image/load.zig b/src/routes/api/image/load.zig
new file mode 100644
index 0000000..1bafb11
--- /dev/null
+++ b/src/routes/api/image/load.zig
@@ -0,0 +1,14 @@
+const std = @import("std");
+const Context = @import("../../context.zig");
+const Storage = @import("../../../storage/root.zig");
+
+pub const access = .users;
+
+pub fn get(ctx: *Context) ![]const u8 {
+ const id = ctx.request.head.target["/api/image/load/".len..];
+ var image = Storage.Image { .id = id };
+ var file = try image.file(ctx.storage);
+ defer file.close();
+
+ return try file.readToEndAlloc(ctx.allocator, std.math.maxInt(usize));
+}