Mercurial > prosody-modules
comparison mod_http_upload/mod_http_upload.lua @ 2469:43f7637f0143
mod_http_upload: Make sure that target file does not exist prior to upload
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 29 Jan 2017 17:31:28 +0100 |
parents | 3bff2848af12 |
children | 9ff809591fbc |
comparison
equal
deleted
inserted
replaced
2468:3bff2848af12 | 2469:43f7637f0143 |
---|---|
121 module:log("warn", "Uploaded file too large %d bytes", #event.request.body); | 121 module:log("warn", "Uploaded file too large %d bytes", #event.request.body); |
122 return 400; | 122 return 400; |
123 end | 123 end |
124 pending_slots[path] = nil; | 124 pending_slots[path] = nil; |
125 local full_filename = join_path(dirname, filename); | 125 local full_filename = join_path(dirname, filename); |
126 if lfs.attributes(full_filename) then | |
127 module:log("warn", "File %s exists already, not replacing it", full_filename); | |
128 return 409; | |
129 end | |
126 local fh, ferr = io.open(full_filename, "w"); | 130 local fh, ferr = io.open(full_filename, "w"); |
127 if not fh then | 131 if not fh then |
128 module:log("error", "Could not open file %s for upload: %s", full_filename, ferr); | 132 module:log("error", "Could not open file %s for upload: %s", full_filename, ferr); |
129 return 500; | 133 return 500; |
130 end | 134 end |