Skip to content

Commit 0c31c39

Browse files
authored
feat(curl): add optional on_error callback. fixes #304 (#471)
1 parent d40f5ce commit 0c31c39

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

lua/plenary/curl.lua

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -261,15 +261,17 @@ local request = function(specs)
261261
else
262262
job_opts.on_exit = function(j, code)
263263
if code ~= 0 then
264-
error(
265-
string.format(
266-
"%s %s - curl error exit_code=%s stderr=%s",
267-
opts.method,
268-
opts.url,
269-
code,
270-
vim.inspect(j:stderr_result())
271-
)
272-
)
264+
local stderr = vim.inspect(j:stderr_result())
265+
local message = string.format("%s %s - curl error exit_code=%s stderr=%s", opts.method, opts.url, code, stderr)
266+
if opts.on_error then
267+
return opts.on_error {
268+
message = message,
269+
stderr = stderr,
270+
exit = code,
271+
}
272+
else
273+
error(message)
274+
end
273275
end
274276
local output = parse.response(j:result(), opts.dump[2], code)
275277
if opts.callback then

0 commit comments

Comments
 (0)