Software / code / prosody
Diff
plugins/mod_http_file_share.lua @ 13209:c8d949cf6b09
plugins: Switch to :get_option_period() for time range options
Improves readability ("1 day" vs 86400) and centralizes validation.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 16 Jul 2023 20:49:33 +0200 |
| parent | 13176:0d1cd3185299 |
| child | 13213:50324f66ca2a |
line wrap: on
line diff
--- a/plugins/mod_http_file_share.lua Sun Jul 16 21:04:42 2023 +0200 +++ b/plugins/mod_http_file_share.lua Sun Jul 16 20:49:33 2023 +0200 @@ -19,7 +19,6 @@ 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; @@ -40,12 +39,7 @@ 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_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 expiry = module:get_option_period(module.name .. "_expires_after", "1w"); 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);