Commit 3a865cbd authored by jan.koester's avatar jan.koester
Browse files

test

parent 54394507
Loading
Loading
Loading
Loading
+22 −3
Original line number Diff line number Diff line
@@ -1623,9 +1623,28 @@ void webedit::Api::handleConnectToConnection(libhttppp::HttpRequest &curreq,
        json_object *checkResp = blogApiCall(blogUrl, checkArr);
        json_object_put(checkArr);

        if (!checkResp || !json_object_is_type(checkResp, json_type_array)) {
            if (checkResp) json_object_put(checkResp);
            sendJsonError(curreq, 502, "Invalid response from blog server");
        if (!checkResp) {
            sendJsonError(curreq, 502, "No response from blog server (null parse result)");
            return;
        }

        // Blog might return a single object instead of array — accept both
        if (json_object_is_type(checkResp, json_type_object)) {
            // Check if it's an error object
            json_object *errObj = nullptr;
            if (json_object_object_get_ex(checkResp, "error", &errObj)) {
                std::string errMsg = json_object_get_string(errObj);
                json_object_put(checkResp);
                sendJsonError(curreq, 502, "Blog server error: " + errMsg);
                return;
            }
        }

        if (!json_object_is_type(checkResp, json_type_array)) {
            std::string respType = json_type_to_name(json_object_get_type(checkResp));
            std::string respStr = json_object_to_json_string(checkResp);
            json_object_put(checkResp);
            sendJsonError(curreq, 502, "Unexpected response type '" + respType + "': " + respStr);
            return;
        }