Changeset

13056:c38b1c63aa5c

mod_http_file_share: use util.human.io.parse_duration Updated by Zash, the original patch by Jonas had put the duration parsing function in util.datetime but MattJ later did the same thing but differently in f4d7fe919969
author Jonas Schäfer <jonas@wielicki.name>
date Thu, 28 Apr 2022 20:40:59 +0200
parents 13055:e732f9dfdfc8
children 13058:766152afc1c9
files plugins/mod_http_file_share.lua
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/mod_http_file_share.lua	Thu Apr 28 20:38:40 2022 +0200
+++ b/plugins/mod_http_file_share.lua	Thu Apr 28 20:40:59 2022 +0200
@@ -19,6 +19,7 @@
 local hi = require "prosody.util.human.units";
 local cache = require "prosody.util.cache";
 local lfs = require "lfs";
+local parse_duration = require "prosody.util.human.io".parse_duration;
 
 local unknown = math.abs(0/0);
 local unlimited = math.huge;
@@ -39,7 +40,12 @@
 local file_size_limit = module:get_option_number(module.name .. "_size_limit", 10 * 1024 * 1024); -- 10 MB
 local file_types = module:get_option_set(module.name .. "_allowed_file_types", {});
 local safe_types = module:get_option_set(module.name .. "_safe_file_types", {"image/*","video/*","audio/*","text/plain"});
-local expiry = module:get_option_number(module.name .. "_expires_after", 7 * 86400);
+local expiry_str = module:get_option_string(module.name .. "_expires_after", "1w");
+local expiry, parse_err = parse_duration(expiry_str);
+if expiry == nil then
+	module:log("error", "Could not parse "..module.name.."_expire_after string %q: %s", expiry_str, parse_err);
+	return false;
+end
 local daily_quota = module:get_option_number(module.name .. "_daily_quota", file_size_limit*10); -- 100 MB / day
 local total_storage_limit = module:get_option_number(module.name.."_global_quota", unlimited);