diff options
Diffstat (limited to 'src/routes/api/profile/image/upload.zig')
| -rw-r--r-- | src/routes/api/profile/image/upload.zig | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/routes/api/profile/image/upload.zig b/src/routes/api/profile/image/upload.zig new file mode 100644 index 0000000..db140d4 --- /dev/null +++ b/src/routes/api/profile/image/upload.zig @@ -0,0 +1,19 @@ +const std = @import("std"); + +const memora = @import("memora"); +const Context = memora.Context; +const Storage = memora.Storage; + +pub const access = .users; + +pub fn post(ctx: *Context) !void { + const name = ctx.request.head.target["/api/profile/image/upload/".len..]; + if (ctx.request.head.content_length) |length| { + var buffer: [1024]u8 = undefined; + const reader = try ctx.request.readerExpectContinue(&buffer); + + try Storage.User.set_image(ctx.storage, name, reader, length); + + ctx.response.headers.content_type = "image/jpeg"; + } +} |