Mercurial > prosody-modules
view mod_storage_xmlarchive/datamanager_append_raw.lib.lua @ 5354:39d59d857bfb
mod_http_oauth2: Use new mod_cron API for periodic cleanup
Less frequent but this isn't that important after all since, as the
comment states, expired codes are not usable anyway. They're also not
that large so memory usage probably doesn't matter.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 22 Apr 2023 11:59:52 +0200 |
parents | f4ab0966ba89 |
children |
line wrap: on
line source
local io_open = io.open; local dm = require "core.storagemanager".olddm; -- Append a blob of data to a file function dm.append_raw(username, host, datastore, ext, data) if type(data) ~= "string" then return; end local filename = dm.getpath(username, host, datastore, ext, true); local ok; local f, msg = io_open(filename, "r+"); if not f then -- File did probably not exist, let's create it f, msg = io_open(filename, "w"); if not f then return nil, msg, "open"; end end local pos = f:seek("end"); ok, msg = f:write(data); if not ok then f:close(); return ok, msg, "write"; end ok, msg = f:close(); if not ok then return ok, msg; end return true, pos; end