# HG changeset patch # User Matthew Wild # Date 1521890973 0 # Node ID 0f6623712239ffa434214e758bc61d15b067ae8e # Parent c7122fbe16001dd164309710220fdf199b76ab0d net.http: Allow enabling/disabling error suppression, useful for tests diff -r c7122fbe1600 -r 0f6623712239 net/http.lua --- a/net/http.lua Sat Mar 24 11:29:04 2018 +0000 +++ b/net/http.lua Sat Mar 24 11:29:33 2018 +0000 @@ -37,9 +37,12 @@ -- Request-related helper functions local function handleerr(err) log("error", "Traceback[http]: %s", traceback(tostring(err), 2)); return err; end -local function log_if_failed(id, ret, ...) +local function log_if_failed(req, ret, ...) if not ret then - log("error", "Request '%s': error in callback: %s", id, tostring((...))); + log("error", "Request '%s': error in callback: %s", req.id, tostring((...))); + if not req.suppress_errors then + error(...); + end end return ...; end @@ -237,6 +240,7 @@ end end req.insecure = ex.insecure; + req.suppress_errors = ex.suppress_errors; end log("debug", "Making %s %s request '%s' to %s", req.scheme:upper(), method or "GET", req.id, (ex and ex.suppress_url and host_header) or u); @@ -276,6 +280,7 @@ local default_http = new({ sslctx = { mode = "client", protocol = "sslv23", options = { "no_sslv2", "no_sslv3" } }; + suppress_errors = true; }); return {