Address some fo the feedback

This commit is contained in:
Aaron Kimbre 2025-01-02 20:09:44 -06:00
parent 2b325165aa
commit 181bb0ce14
3 changed files with 13 additions and 19 deletions

View File

@ -133,3 +133,12 @@ void ChatWebAPI::Listen() {
void ChatWebAPI::ReceiveRequests() {
mg_mgr_poll(&mgr, 15);
}
std::optional<json> ChatWebAPI::ParseJSON(char* data) {
try {
return std::make_optional<json>(json::parse(data));
} catch (const std::exception& e) {
LOG_DEBUG("Failed to parse JSON: %s", e.what());
return std::nullopt;
}
}

View File

@ -14,10 +14,12 @@ public:
void ReceiveRequests();
void Listen();
private:
struct mg_mgr mgr;
static void HandleRequests(struct mg_connection *c, int ev, void *ev_data);
static std::optional<json> ParseJSON(char * data);
struct mg_mgr mgr;
inline static const std::string root_path = "/api/v1/";
inline static const char * json_content_type = "Content-Type: application/json\r\n";
};
#endif
#endif

View File

@ -18,9 +18,6 @@
#include "dPlatforms.h"
#include "Game.h"
#include "Logger.h"
#include "json.hpp"
using json = nlohmann::json;
enum eInventoryType : uint32_t;
enum class eObjectBits : size_t;
@ -263,20 +260,6 @@ namespace GeneralUtils {
return (str.size() == 3) ? TryParse<NiPoint3>(str[0], str[1], str[2]) : std::nullopt;
}
/**
* The TryParse overload for handling json parsing
* @param str The string that is the json to parse
* @returns An std::optional containing the desired json if it can be parsed from the string
*/
template <typename T>
[[nodiscard]] std::optional<json> TryParse(const std::string_view str) {
try {
return json::parse(str);
} catch (const std::exception& e) {
return std::nullopt;
}
}
template <typename T>
std::u16string to_u16string(const T value) {
return GeneralUtils::ASCIIToUTF16(std::to_string(value));