# HG changeset patch # User Kim Alvefur # Date 1697312446 -7200 # Node ID c8322c64a5483d6d8b734fa606cfc67e4dba31c4 # Parent 2c9d72ef829e048f7e9e1d8de2b8f2c90a390cb6 mod_storage_s3: Implement keyvalue deletion diff -r 2c9d72ef829e -r c8322c64a548 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()