diff --git a/src/octoprint/server/api/settings.py b/src/octoprint/server/api/settings.py index 1be88db7..d5255cd3 100644 --- a/src/octoprint/server/api/settings.py +++ b/src/octoprint/server/api/settings.py @@ -256,6 +256,10 @@ def setSettings(): except BadRequest: return make_response("Malformed JSON body in request", 400) + if not isinstance(data, dict): + return make_response("Malformed request, need settings dictionary, " + "got a {} instead: {!r}".format(type(data).__name__, data), 400) + _saveSettings(data) return getSettings()