mod_storage_s3: Implement keyvalue deletion
authorKim Alvefur <zash@zash.se>
Sat, 14 Oct 2023 21:40:46 +0200
changeset 5675 c8322c64a548
parent 5674 2c9d72ef829e
child 5676 c74a96dc5d58
mod_storage_s3: Implement keyvalue deletion
mod_storage_s3/mod_storage_s3.lua
--- a/mod_storage_s3/mod_storage_s3.lua	Sat Oct 14 21:40:20 2023 +0200
+++ b/mod_storage_s3/mod_storage_s3.lua	Sat Oct 14 21:40:46 2023 +0200
@@ -142,7 +142,12 @@
 end
 
 function keyval:set(user, data)
-	return async.wait_for(new_request("PUT", self:_path(user), data));
+
+	if data == nil or (type(data) == "table" and next(data) == nil) then
+		return async.wait_for(new_request("DELETE", self:_path(user)));
+	end
+
+	return async.wait_for(new_request("PUT", self:_path(user), nil, data));
 end
 
 function keyval:users()