1
0
mirror of https://github.com/sharkdp/bat.git synced 2024-10-05 18:31:06 +01:00
bat/plugins/curl.lua

22 lines
643 B
Lua
Raw Permalink Normal View History

2022-05-29 19:57:08 +01:00
function tempdir()
local stream = assert(io.popen('mktemp --directory'))
local output = stream:read('*all')
stream:close()
return string.gsub(output, "\n", "")
end
function preprocess(path_or_url)
filename_from_url = string.match(path_or_url, '^https?://.*/(.*)$')
if filename_from_url then
local temp_directory = tempdir()
local new_path = temp_directory .. "/" .. filename_from_url
-- TODO: how to prevent shell injection bugs?
os.execute("curl --silent '" .. path_or_url .. "' --output '" .. new_path .. "'")
return new_path
else
return path_or_url
end
end