]> granicus.if.org Git - icinga2/commitdiff
Refactor actions error messages
authorMichael Friedrich <michael.friedrich@icinga.com>
Fri, 6 Apr 2018 08:30:27 +0000 (10:30 +0200)
committerMichael Friedrich <michael.friedrich@icinga.com>
Fri, 6 Apr 2018 08:30:27 +0000 (10:30 +0200)
lib/remote/actionshandler.cpp

index a8b31fc1099bf822ba96cc73106ce6e135610def..a8a87f5d996664ad07bcb48a23afe8561e62e687 100644 (file)
@@ -62,7 +62,7 @@ bool ActionsHandler::HandleRequest(const ApiUser::Ptr& user, HttpRequest& reques
                } catch (const std::exception& ex) {
                        HttpUtility::SendJsonError(response, params, 404,
                                "No objects found.",
-                               HttpUtility::GetLastParameter(params, "verboseErrors") ? DiagnosticInformation(ex) : "");
+                               DiagnosticInformation(ex));
                        return true;
                }
        } else {
@@ -75,6 +75,11 @@ bool ActionsHandler::HandleRequest(const ApiUser::Ptr& user, HttpRequest& reques
        Log(LogNotice, "ApiActionHandler")
                << "Running action " << actionName;
 
+       bool verbose = false;
+
+       if (params)
+               verbose = HttpUtility::GetLastParameter(params, "verbose");
+
        for (const ConfigObject::Ptr& obj : objs) {
                try {
                        results.emplace_back(action->Invoke(obj, params));
@@ -84,8 +89,9 @@ bool ActionsHandler::HandleRequest(const ApiUser::Ptr& user, HttpRequest& reques
                                { "status", "Action execution failed: '" + DiagnosticInformation(ex, false) + "'." }
                        });
 
-                       if (HttpUtility::GetLastParameter(params, "verboseErrors"))
-                               fail->Set("diagnostic information", DiagnosticInformation(ex));
+                       /* Exception for actions. Normally we would handle this inside SendJsonError(). */
+                       if (verbose)
+                               fail->Set("diagnostic_information", DiagnosticInformation(ex));
 
                        results.emplace_back(std::move(fail));
                }