diff --git a/engine/extensions/remote-engine/remote_engine.cc b/engine/extensions/remote-engine/remote_engine.cc index 659525bef..1640b7fac 100644 --- a/engine/extensions/remote-engine/remote_engine.cc +++ b/engine/extensions/remote-engine/remote_engine.cc @@ -29,7 +29,11 @@ size_t StreamWriteCallback(char* ptr, size_t size, size_t nmemb, CTL_DBG(chunk); Json::Value check_error; Json::Reader reader; - if (reader.parse(chunk, check_error)) { + context->chunks += chunk; + if (reader.parse(context->chunks, check_error) || + (reader.parse(chunk, check_error) && + chunk.find("error") != std::string::npos)) { + CTL_WRN(context->chunks); CTL_WRN(chunk); CTL_INF("Request: " << context->last_request); Json::Value status; diff --git a/engine/extensions/remote-engine/remote_engine.h b/engine/extensions/remote-engine/remote_engine.h index 4043a8800..6f1b731c6 100644 --- a/engine/extensions/remote-engine/remote_engine.h +++ b/engine/extensions/remote-engine/remote_engine.h @@ -26,6 +26,7 @@ struct StreamContext { std::string stream_template; bool need_stop = true; std::string last_request; + std::string chunks; }; struct CurlResponse { std::string body;