Mercurial > prosody-modules
comparison mod_http_upload/mod_http_upload.lua @ 2690:43ad92c5b91a
mod_http_upload: Return an error if unable to store slot info
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 15 Apr 2017 15:53:46 +0200 |
| parents | 0fc706855af9 |
| children | 92ddfc548ce8 |
comparison
equal
deleted
inserted
replaced
| 2689:0fc706855af9 | 2690:43ad92c5b91a |
|---|---|
| 158 local random_dir; | 158 local random_dir; |
| 159 repeat random_dir = uuid(); | 159 repeat random_dir = uuid(); |
| 160 until lfs.mkdir(join_path(storage_path, random_dir)) | 160 until lfs.mkdir(join_path(storage_path, random_dir)) |
| 161 or not lfs.attributes(join_path(storage_path, random_dir, filename)) | 161 or not lfs.attributes(join_path(storage_path, random_dir, filename)) |
| 162 | 162 |
| 163 datamanager.list_append(username, host, module.name, { | 163 local ok = datamanager.list_append(username, host, module.name, { |
| 164 filename = join_path(storage_path, random_dir, filename), size = filesize, time = os.time() }); | 164 filename = join_path(storage_path, random_dir, filename), size = filesize, time = os.time() }); |
| 165 if not ok then | |
| 166 origin.send(st.error_reply(stanza, "wait", "internal-server-failure")); | |
| 167 return true; | |
| 168 end | |
| 169 | |
| 165 local slot = random_dir.."/"..filename; | 170 local slot = random_dir.."/"..filename; |
| 166 pending_slots[slot] = origin.full_jid; | 171 pending_slots[slot] = origin.full_jid; |
| 167 | 172 |
| 168 module:add_timer(900, function() | 173 module:add_timer(900, function() |
| 169 pending_slots[slot] = nil; | 174 pending_slots[slot] = nil; |
