diff --git a/CMakeLists.txt b/CMakeLists.txt index 4560654f..b4aabeaf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -261,12 +261,10 @@ include_directories(src) include_directories(src/3rdparty) include_directories(${UV_INCLUDE_DIR}) -add_subdirectory(src/3rdparty/jansson) - add_executable(xmrig ${HEADERS} ${SOURCES} ${HEADERS_COMMON} ${SOURCES_COMMON} ${SOURCES_OS} ${SOURCES_CPUID} ${HEADERS_CRYPTO} ${SOURCES_CRYPTO} ${SOURCES_SYSLOG} ${HTTPD_SOURCES}) -target_link_libraries(xmrig jansson ${UV_LIBRARIES} ${MHD_LIBRARY} ${EXTRA_LIBS} ${CPUID_LIB}) +target_link_libraries(xmrig ${UV_LIBRARIES} ${MHD_LIBRARY} ${EXTRA_LIBS} ${CPUID_LIB}) if (WITH_CC_SERVER AND MHD_FOUND) add_executable(xmrigCC ${HEADERS_COMMON} ${SOURCES_COMMON} ${SOURCES_OS} ${SOURCES_CPUID} ${HEADERS_CC_SERVER} ${CC_SERVER_SOURCES} ${SOURCES_SYSLOG}) - target_link_libraries(xmrigCC jansson ${UV_LIBRARIES} ${MHD_LIBRARY} ${EXTRA_LIBS} ${CPUID_LIB}) + target_link_libraries(xmrigCC ${UV_LIBRARIES} ${MHD_LIBRARY} ${EXTRA_LIBS} ${CPUID_LIB}) endif() \ No newline at end of file diff --git a/src/server/ClientStatus.cpp b/src/server/ClientStatus.cpp index b6528330..2b939037 100644 --- a/src/server/ClientStatus.cpp +++ b/src/server/ClientStatus.cpp @@ -134,7 +134,7 @@ void ClientStatus::setLastStatusUpdate(uint32_t lastStatusUpdate) ClientStatus::lastStatusUpdate = lastStatusUpdate; } -void ClientStatus::parseFromJson(const json_t &json) +void ClientStatus::parseFromJson(const rapidjson::Document &doc) { } diff --git a/src/server/ClientStatus.h b/src/server/ClientStatus.h index 8ed23d21..c200b1b3 100644 --- a/src/server/ClientStatus.h +++ b/src/server/ClientStatus.h @@ -25,9 +25,8 @@ #ifndef __CLIENTSTATUS_H__ #define __CLIENTSTATUS_H__ - #include -#include <3rdparty/jansson/jansson.h> +#include "rapidjson/document.h" class ClientStatus { @@ -66,7 +65,7 @@ public: void setLastStatusUpdate(uint32_t lastStatusUpdate); std::string toJson(); - void parseFromJson(const json_t& json); + void parseFromJson(const rapidjson::Document &doc); private: std::string miner; diff --git a/src/server/Service.cpp b/src/server/Service.cpp index 73ebb9f2..ab647fc4 100644 --- a/src/server/Service.cpp +++ b/src/server/Service.cpp @@ -22,7 +22,7 @@ */ #include -#include <3rdparty/jansson/jansson.h> +#include <3rdparty/rapidjson/document.h> #include "server/Service.h" #include "log/Log.h" @@ -84,15 +84,11 @@ unsigned Service::post(const char *url, const std::string &data, std::string &re LOG_INFO("POST(%s, %s)", url, data.c_str()); - json_error_t err; - json_t *val = json_loads(data.c_str(), 0, &err); - - if (val) { - const char *miner = json_string_value(json_object_get(val, "miner")); - const char *currentPool = json_string_value(json_object_get(val, "currentPool")); - LOG_INFO("received = miner: %s on pool: %s", miner, currentPool); + rapidjson::Document document; + if (!document.Parse(data.c_str()).HasParseError()) { + LOG_ERR("Status from miner: %s", document['miner'].GetString()); } else { - LOG_ERR("BAD POST REQUEST: %s", err.text); + LOG_ERR("Parse Error Occured: %d", document.GetParseError()); return MHD_HTTP_BAD_REQUEST; }