From 2a9297a3b28eef3b4b3ea029f91721f1dddf0180 Mon Sep 17 00:00:00 2001 From: fluttershy Date: Fri, 31 Jan 2025 13:04:37 +0500 Subject: [PATCH] fixes --- .clang-tidy | 4 +- CMakeLists.txt | 24 +++--- include/includes.hpp | 4 - include/pch.hpp | 12 +++ libs/interface/Message.hpp | 2 +- libs/network/network.cpp | 1 - libs/network/network.hpp | 8 +- libs/network/websocket.cpp | 2 +- libs/network/websocket.hpp | 2 +- libs/utils/enums.hpp | 158 ++++++++++++++++++------------------- libs/utils/log.hpp | 2 +- sources/main.cpp | 1 + 12 files changed, 113 insertions(+), 107 deletions(-) create mode 100644 include/pch.hpp diff --git a/.clang-tidy b/.clang-tidy index 170f805..e168f06 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -4,5 +4,5 @@ Checks: modernize-*, performance-*, bugprone-*, - cppcoreguidelines-*' - -performance-avoid-endl \ No newline at end of file + cppcoreguidelines-*, + -performance-avoid-endl' \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index ede0b08..7b9ab3c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,7 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.16) project(sparkle) -#target_precompile_headers(${PROJECT_NAME} PRIVATE pch.h) - #include(GoogleTest) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) @@ -13,10 +11,15 @@ set(SOURCE sources/main.cpp) set(LIBS ${CMAKE_SOURCE_DIR}/libs/) set(INCLUDE ${CMAKE_SOURCE_DIR}/include/) #set(TESTS ${CMAKE_SOURCE_DIR}/tests) -#-Werror -set(ADDITIONAL_CXX_FLAGS_DEBUG "-march=native -O0 -pipe -Wall -Wextra -Wpedantic -Wconversion -Wuninitialized -Wsign-conversion -Wshadow -fsanitize=address") +set(ADDITIONAL_CXX_FLAGS_DEBUG "-march=native -O0 -pipe -Wall -Wextra -Wpedantic -Wconversion -Wuninitialized -Wsign-conversion -Wshadow -fsanitize=address") #-Werror set(ADDITIONAL_CXX_FLAGS_RELEASE "-march=native -O2 -pipe -Wall -Wextra -Wpedantic -Wconversion -Wuninitialized -Wsign-conversion -Wshadow -flto=full") +file(GLOB NETWORK_SOURCES libs/network/*.cpp) + +find_package(CURL REQUIRED) +find_path(IXWEBSOCKET_INCLUDE_DIR ixwebsocket) +find_library(IXWEBSOCKET_LIBRARIES ixwebsocket) + if(CMAKE_BUILD_TYPE) if(CMAKE_BUILD_TYPE STREQUAL "Debug") add_definitions(-DDEBUG) @@ -33,13 +36,6 @@ elseif(NOT CMAKE_BUILD_TYPE) message(STATUS "cflags: ${CMAKE_CXX_FLAGS_RELEASE}") endif() -file(GLOB NETWORK_SOURCES libs/network/*.cpp) -file(GLOB WEBSOCKET_SOURCES libs/gateway/*.cpp) - -find_package(CURL REQUIRED) -find_path(IXWEBSOCKET_INCLUDE_DIR ixwebsocket) -find_library(IXWEBSOCKET_LIBRARIES ixwebsocket) - if(NOT IXWEBSOCKET_INCLUDE_DIR OR NOT IXWEBSOCKET_LIBRARIES) message(FATAL_ERROR "ixwebsocket not found") endif() @@ -51,7 +47,9 @@ endif() message(STATUS "Current compiler: ${CMAKE_CXX_COMPILER}") message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") -add_executable(${PROJECT_NAME} ${SOURCE} ${NETWORK_SOURCES} ${WEBSOCKET_SOURCES}) +add_executable(${PROJECT_NAME} ${SOURCE} ${NETWORK_SOURCES}) + +target_precompile_headers(${PROJECT_NAME} PRIVATE ${INCLUDE}pch.hpp) target_include_directories(${PROJECT_NAME} PRIVATE ${LIBS} diff --git a/include/includes.hpp b/include/includes.hpp index 5c0e93e..32a3a7f 100644 --- a/include/includes.hpp +++ b/include/includes.hpp @@ -1,11 +1,7 @@ #ifndef INCLUDE_INCLUDES_HPP_ #define INCLUDE_INCLUDES_HPP_ #include -#include #include #include #include -#include -#include -#include #endif \ No newline at end of file diff --git a/include/pch.hpp b/include/pch.hpp new file mode 100644 index 0000000..5d33dbd --- /dev/null +++ b/include/pch.hpp @@ -0,0 +1,12 @@ +#ifndef INCLUDE_PCH_HPP_ +#define INCLUDE_PCH_HPP_ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#endif \ No newline at end of file diff --git a/libs/interface/Message.hpp b/libs/interface/Message.hpp index 58002df..c313edc 100644 --- a/libs/interface/Message.hpp +++ b/libs/interface/Message.hpp @@ -30,7 +30,7 @@ public: const nlohmann::json& data; NetworkManager& req; Api(const nlohmann::json& json) : data(json), req(NetworkManager::getInstance()) {}; - unsigned long latency() const { + _nodiscard auto latency() const -> unsigned long { return req.getLatency(); } }; diff --git a/libs/network/network.cpp b/libs/network/network.cpp index d778b3f..87e5a59 100644 --- a/libs/network/network.cpp +++ b/libs/network/network.cpp @@ -2,7 +2,6 @@ NetworkManager::NetworkManager() : curl(curl_easy_init()), res(CURLE_OK), web(WebSocket::getInstance()) { Log::create(INFO, NETWORK, "Network init"); curl_global_init(CURL_GLOBAL_DEFAULT); - if (!curl) { Log::create(CRITICAL, NETWORK, "Failed to initialize CURL"); abort(); diff --git a/libs/network/network.hpp b/libs/network/network.hpp index 99501cd..739d373 100644 --- a/libs/network/network.hpp +++ b/libs/network/network.hpp @@ -8,14 +8,14 @@ private: CURL* curl; CURLcode res; WebSocket& web; - auto operator=(const NetworkManager&) -> NetworkManager& = delete; - auto operator=(NetworkManager&&) -> NetworkManager& = delete; - NetworkManager(NetworkManager&&) = delete; - NetworkManager(const NetworkManager&) = delete; NetworkManager(); ~NetworkManager(); static auto WriteCallback(void* contents, unsigned long size, unsigned long nmemb, void* userp) -> unsigned long; public: + auto operator=(const NetworkManager&)->NetworkManager& = delete; + auto operator=(NetworkManager&&)->NetworkManager& = delete; + NetworkManager(NetworkManager&&) = delete; + NetworkManager(const NetworkManager&) = delete; static auto getInstance() -> NetworkManager&; [[nodiscard]] auto getLatency() const -> unsigned long; auto request(const std::string& method, const std::string& path, const std::string& data = "") -> std::string; diff --git a/libs/network/websocket.cpp b/libs/network/websocket.cpp index c8ae63a..0b85813 100644 --- a/libs/network/websocket.cpp +++ b/libs/network/websocket.cpp @@ -6,7 +6,7 @@ void EventEmitter::emit(const std::string& event, const nlohmann::json& data) { }); } } -void EventEmitter::getEvents() { +void EventEmitter::getEvents() const { Log::create(CRITICAL, WEBSOCKET, "Event list"); for (const auto& handler : handlers) { Log::create(INFO, WEBSOCKET, handler.first); diff --git a/libs/network/websocket.hpp b/libs/network/websocket.hpp index 72faf65..3badc16 100644 --- a/libs/network/websocket.hpp +++ b/libs/network/websocket.hpp @@ -11,7 +11,7 @@ private: protected: void emit(const std::string& event, const nlohmann::json& data); public: - void getEvents(); + void getEvents() const; void start() const; void on(const std::string& event, eventHandlers handler); void once(const std::string& event, const eventHandlers& handler); diff --git a/libs/utils/enums.hpp b/libs/utils/enums.hpp index 1fb08d5..8a0a38f 100644 --- a/libs/utils/enums.hpp +++ b/libs/utils/enums.hpp @@ -2,87 +2,87 @@ #define UTILS_EVENTS_HPP_ #include struct GatewayEvents { - static constexpr const char* APPLICATION_COMMAND_PERMISSIONS_UPDATE = "APPLICATION_COMMAND_PERMISSIONS_UPDATE"; - static constexpr const char* AUTO_MODERATION_ACTION_EXECUTION = "AUTO_MODERATION_ACTION_EXECUTION"; - static constexpr const char* AUTO_MODERATION_RULE_CREATE = "AUTO_MODERATION_RULE_CREATE"; - static constexpr const char* AUTO_MODERATION_RULE_DELETE = "AUTO_MODERATION_RULE_DELETE"; - static constexpr const char* AUTO_MODERATION_RULE_UPDATE = "AUTO_MODERATION_RULE_UPDATE"; - static constexpr const char* CHANNEL_CREATE = "CHANNEL_CREATE"; - static constexpr const char* CHANNEL_DELETE = "CHANNEL_DELETE"; - static constexpr const char* CHANNEL_PINS_UPDATE = "CHANNEL_PINS_UPDATE"; - static constexpr const char* CHANNEL_UPDATE = "CHANNEL_UPDATE"; - static constexpr const char* ENTITLEMENT_CREATE = "ENTITLEMENT_CREATE"; - static constexpr const char* ENTITLEMENT_DELETE = "ENTITLEMENT_DELETE"; - static constexpr const char* ENTITLEMENT_UPDATE = "ENTITLEMENT_UPDATE"; - static constexpr const char* GUILD_AUDIT_LOG_ENTRY_CREATE = "GUILD_AUDIT_LOG_ENTRY_CREATE"; - static constexpr const char* GUILD_BAN_ADD = "GUILD_BAN_ADD"; - static constexpr const char* GUILD_BAN_REMOVE = "GUILD_BAN_REMOVE"; - static constexpr const char* GUILD_CREATE = "GUILD_CREATE"; - static constexpr const char* GUILD_DELETE = "GUILD_DELETE"; - static constexpr const char* GUILD_EMOJIS_UPDATE = "GUILD_EMOJIS_UPDATE"; - static constexpr const char* GUILD_INTEGRATIONS_UPDATE = "GUILD_INTEGRATIONS_UPDATE"; - static constexpr const char* GUILD_MEMBER_ADD = "GUILD_MEMBER_ADD"; - static constexpr const char* GUILD_MEMBER_REMOVE = "GUILD_MEMBER_REMOVE"; - static constexpr const char* GUILD_MEMBERS_CHUNK = "GUILD_MEMBERS_CHUNK"; - static constexpr const char* GUILD_MEMBER_UPDATE = "GUILD_MEMBER_UPDATE"; - static constexpr const char* GUILD_ROLE_CREATE = "GUILD_ROLE_CREATE"; - static constexpr const char* GUILD_ROLE_DELETE = "GUILD_ROLE_DELETE"; - static constexpr const char* GUILD_ROLE_UPDATE = "GUILD_ROLE_UPDATE"; - static constexpr const char* GUILD_SCHEDULED_EVENT_CREATE = "GUILD_SCHEDULED_EVENT_CREATE"; - static constexpr const char* GUILD_SCHEDULED_EVENT_DELETE = "GUILD_SCHEDULED_EVENT_DELETE"; - static constexpr const char* GUILD_SCHEDULED_EVENT_UPDATE = "GUILD_SCHEDULED_EVENT_UPDATE"; - static constexpr const char* GUILD_SCHEDULED_EVENT_USER_REMOVE = "GUILD_SCHEDULED_EVENT_USER_REMOVE"; - static constexpr const char* GUILD_SOUNDBOARD_SOUND_CREATE = "GUILD_SOUNDBOARD_SOUND_CREATE"; - static constexpr const char* GUILD_SOUNDBOARD_SOUND_DELETE = "GUILD_SOUNDBOARD_SOUND_DELETE"; - static constexpr const char* GUILD_SOUNDBOARD_SOUNDS_UPDATE = "GUILD_SOUNDBOARD_SOUNDS_UPDATE"; - static constexpr const char* GUILD_SOUNDBOARD_SOUND_UPDATE = "GUILD_SOUNDBOARD_SOUND_UPDATE"; - static constexpr const char* SOUNDBOARD_SOUNDS = "SOUNDBOARD_SOUNDS"; - static constexpr const char* GUILD_STICKERS_UPDATE = "GUILD_STICKERS_UPDATE"; - static constexpr const char* GUILD_UPDATE = "GUILD_UPDATE"; - static constexpr const char* INTEGRATION_CREATE = "INTEGRATION_CREATE"; - static constexpr const char* INTEGRATION_DELETE = "INTEGRATION_DELETE"; - static constexpr const char* INTEGRATION_UPDATE = "INTEGRATION_UPDATE"; - static constexpr const char* INVITE_CREATE = "INVITE_CREATE"; - static constexpr const char* INVITE_DELETE = "INVITE_DELETE"; - static constexpr const char* MESSAGE_CREATE = "MESSAGE_CREATE"; - static constexpr const char* MESSAGE_DELETE = "MESSAGE_DELETE"; - static constexpr const char* MESSAGE_DELETE_BULK = "MESSAGE_DELETE_BULK"; - static constexpr const char* MESSAGE_POLL_VOTE_ADD = "MESSAGE_POLL_VOTE_ADD"; - static constexpr const char* MESSAGE_POLL_VOTE_REMOVE = "MESSAGE_POLL_VOTE_REMOVE"; - static constexpr const char* MESSAGE_REACTION_ADD = "MESSAGE_REACTION_ADD"; - static constexpr const char* MESSAGE_REACTION_REMOVE = "MESSAGE_REACTION_REMOVE"; - static constexpr const char* MESSAGE_REACTION_REMOVE_ALL = "MESSAGE_REACTION_REMOVE_ALL"; - static constexpr const char* MESSAGE_REACTION_REMOVE_EMOJI = "MESSAGE_REACTION_REMOVE_EMOJI"; - static constexpr const char* MESSAGE_UPDATE = "MESSAGE_UPDATE"; - static constexpr const char* PRESENCE_UPDATE = "PRESENCE_UPDATE"; - static constexpr const char* READY = "READY"; - static constexpr const char* RESUMED = "RESUMED"; - static constexpr const char* STAGE_INSTANCE_CREATE = "STAGE_INSTANCE_CREATE"; - static constexpr const char* STAGE_INSTANCE_DELETE = "STAGE_INSTANCE_DELETE"; - static constexpr const char* STAGE_INSTANCE_UPDATE = "STAGE_INSTANCE_UPDATE"; - static constexpr const char* SUBSCRIPTION_CREATE = "SUBSCRIPTION_CREATE"; - static constexpr const char* SUBSCRIPTION_DELETE = "SUBSCRIPTION_DELETE"; - static constexpr const char* SUBSCRIPTION_UPDATE = "SUBSCRIPTION_UPDATE"; - static constexpr const char* THREAD_CREATE = "THREAD_CREATE"; - static constexpr const char* THREAD_DELETE = "THREAD_DELETE"; - static constexpr const char* THREAD_LIST_SYNC = "THREAD_LIST_SYNC"; - static constexpr const char* THREAD_MEMBERS_UPDATE = "THREAD_MEMBERS_UPDATE"; - static constexpr const char* THREAD_MEMBER_UPDATE = "THREAD_MEMBER_UPDATE"; - static constexpr const char* THREAD_UPDATE = "THREAD_UPDATE"; - static constexpr const char* TYPING_START = "TYPING_START"; - static constexpr const char* USER_UPDATE = "USER_UPDATE"; - static constexpr const char* VOICE_CHANNEL_EFFECT_SEND = "VOICE_CHANNEL_EFFECT_SEND"; - static constexpr const char* VOICE_SERVER_UPDATE = "VOICE_SERVER_UPDATE"; - static constexpr const char* VOICE_STATE_UPDATE = "VOICE_STATE_UPDATE"; - static constexpr const char* WEBHOOKS_UPDATE = "WEBHOOKS_UPDATE"; + static inline constexpr char* APPLICATION_COMMAND_PERMISSIONS_UPDATE = "APPLICATION_COMMAND_PERMISSIONS_UPDATE"; + static inline constexpr char* AUTO_MODERATION_ACTION_EXECUTION = "AUTO_MODERATION_ACTION_EXECUTION"; + static inline constexpr char* AUTO_MODERATION_RULE_CREATE = "AUTO_MODERATION_RULE_CREATE"; + static inline constexpr char* AUTO_MODERATION_RULE_DELETE = "AUTO_MODERATION_RULE_DELETE"; + static inline constexpr char* AUTO_MODERATION_RULE_UPDATE = "AUTO_MODERATION_RULE_UPDATE"; + static inline constexpr char* CHANNEL_CREATE = "CHANNEL_CREATE"; + static inline constexpr char* CHANNEL_DELETE = "CHANNEL_DELETE"; + static inline constexpr char* CHANNEL_PINS_UPDATE = "CHANNEL_PINS_UPDATE"; + static inline constexpr char* CHANNEL_UPDATE = "CHANNEL_UPDATE"; + static inline constexpr char* ENTITLEMENT_CREATE = "ENTITLEMENT_CREATE"; + static inline constexpr char* ENTITLEMENT_DELETE = "ENTITLEMENT_DELETE"; + static inline constexpr char* ENTITLEMENT_UPDATE = "ENTITLEMENT_UPDATE"; + static inline constexpr char* GUILD_AUDIT_LOG_ENTRY_CREATE = "GUILD_AUDIT_LOG_ENTRY_CREATE"; + static inline constexpr char* GUILD_BAN_ADD = "GUILD_BAN_ADD"; + static inline constexpr char* GUILD_BAN_REMOVE = "GUILD_BAN_REMOVE"; + static inline constexpr char* GUILD_CREATE = "GUILD_CREATE"; + static inline constexpr char* GUILD_DELETE = "GUILD_DELETE"; + static inline constexpr char* GUILD_EMOJIS_UPDATE = "GUILD_EMOJIS_UPDATE"; + static inline constexpr char* GUILD_INTEGRATIONS_UPDATE = "GUILD_INTEGRATIONS_UPDATE"; + static inline constexpr char* GUILD_MEMBER_ADD = "GUILD_MEMBER_ADD"; + static inline constexpr char* GUILD_MEMBER_REMOVE = "GUILD_MEMBER_REMOVE"; + static inline constexpr char* GUILD_MEMBERS_CHUNK = "GUILD_MEMBERS_CHUNK"; + static inline constexpr char* GUILD_MEMBER_UPDATE = "GUILD_MEMBER_UPDATE"; + static inline constexpr char* GUILD_ROLE_CREATE = "GUILD_ROLE_CREATE"; + static inline constexpr char* GUILD_ROLE_DELETE = "GUILD_ROLE_DELETE"; + static inline constexpr char* GUILD_ROLE_UPDATE = "GUILD_ROLE_UPDATE"; + static inline constexpr char* GUILD_SCHEDULED_EVENT_CREATE = "GUILD_SCHEDULED_EVENT_CREATE"; + static inline constexpr char* GUILD_SCHEDULED_EVENT_DELETE = "GUILD_SCHEDULED_EVENT_DELETE"; + static inline constexpr char* GUILD_SCHEDULED_EVENT_UPDATE = "GUILD_SCHEDULED_EVENT_UPDATE"; + static inline constexpr char* GUILD_SCHEDULED_EVENT_USER_REMOVE = "GUILD_SCHEDULED_EVENT_USER_REMOVE"; + static inline constexpr char* GUILD_SOUNDBOARD_SOUND_CREATE = "GUILD_SOUNDBOARD_SOUND_CREATE"; + static inline constexpr char* GUILD_SOUNDBOARD_SOUND_DELETE = "GUILD_SOUNDBOARD_SOUND_DELETE"; + static inline constexpr char* GUILD_SOUNDBOARD_SOUNDS_UPDATE = "GUILD_SOUNDBOARD_SOUNDS_UPDATE"; + static inline constexpr char* GUILD_SOUNDBOARD_SOUND_UPDATE = "GUILD_SOUNDBOARD_SOUND_UPDATE"; + static inline constexpr char* SOUNDBOARD_SOUNDS = "SOUNDBOARD_SOUNDS"; + static inline constexpr char* GUILD_STICKERS_UPDATE = "GUILD_STICKERS_UPDATE"; + static inline constexpr char* GUILD_UPDATE = "GUILD_UPDATE"; + static inline constexpr char* INTEGRATION_CREATE = "INTEGRATION_CREATE"; + static inline constexpr char* INTEGRATION_DELETE = "INTEGRATION_DELETE"; + static inline constexpr char* INTEGRATION_UPDATE = "INTEGRATION_UPDATE"; + static inline constexpr char* INVITE_CREATE = "INVITE_CREATE"; + static inline constexpr char* INVITE_DELETE = "INVITE_DELETE"; + static inline constexpr char* MESSAGE_CREATE = "MESSAGE_CREATE"; + static inline constexpr char* MESSAGE_DELETE = "MESSAGE_DELETE"; + static inline constexpr char* MESSAGE_DELETE_BULK = "MESSAGE_DELETE_BULK"; + static inline constexpr char* MESSAGE_POLL_VOTE_ADD = "MESSAGE_POLL_VOTE_ADD"; + static inline constexpr char* MESSAGE_POLL_VOTE_REMOVE = "MESSAGE_POLL_VOTE_REMOVE"; + static inline constexpr char* MESSAGE_REACTION_ADD = "MESSAGE_REACTION_ADD"; + static inline constexpr char* MESSAGE_REACTION_REMOVE = "MESSAGE_REACTION_REMOVE"; + static inline constexpr char* MESSAGE_REACTION_REMOVE_ALL = "MESSAGE_REACTION_REMOVE_ALL"; + static inline constexpr char* MESSAGE_REACTION_REMOVE_EMOJI = "MESSAGE_REACTION_REMOVE_EMOJI"; + static inline constexpr char* MESSAGE_UPDATE = "MESSAGE_UPDATE"; + static inline constexpr char* PRESENCE_UPDATE = "PRESENCE_UPDATE"; + static inline constexpr char* READY = "READY"; + static inline constexpr char* RESUMED = "RESUMED"; + static inline constexpr char* STAGE_INSTANCE_CREATE = "STAGE_INSTANCE_CREATE"; + static inline constexpr char* STAGE_INSTANCE_DELETE = "STAGE_INSTANCE_DELETE"; + static inline constexpr char* STAGE_INSTANCE_UPDATE = "STAGE_INSTANCE_UPDATE"; + static inline constexpr char* SUBSCRIPTION_CREATE = "SUBSCRIPTION_CREATE"; + static inline constexpr char* SUBSCRIPTION_DELETE = "SUBSCRIPTION_DELETE"; + static inline constexpr char* SUBSCRIPTION_UPDATE = "SUBSCRIPTION_UPDATE"; + static inline constexpr char* THREAD_CREATE = "THREAD_CREATE"; + static inline constexpr char* THREAD_DELETE = "THREAD_DELETE"; + static inline constexpr char* THREAD_LIST_SYNC = "THREAD_LIST_SYNC"; + static inline constexpr char* THREAD_MEMBERS_UPDATE = "THREAD_MEMBERS_UPDATE"; + static inline constexpr char* THREAD_MEMBER_UPDATE = "THREAD_MEMBER_UPDATE"; + static inline constexpr char* THREAD_UPDATE = "THREAD_UPDATE"; + static inline constexpr char* TYPING_START = "TYPING_START"; + static inline constexpr char* USER_UPDATE = "USER_UPDATE"; + static inline constexpr char* VOICE_CHANNEL_EFFECT_SEND = "VOICE_CHANNEL_EFFECT_SEND"; + static inline constexpr char* VOICE_SERVER_UPDATE = "VOICE_SERVER_UPDATE"; + static inline constexpr char* VOICE_STATE_UPDATE = "VOICE_STATE_UPDATE"; + static inline constexpr char* WEBHOOKS_UPDATE = "WEBHOOKS_UPDATE"; }; struct HttpMethods { - static constexpr const char* POST = "POST"; - static constexpr const char* GET = "GET"; - static constexpr const char* PATCH = "PATCH"; - static constexpr const char* DELETE = "DELETE"; - static constexpr const char* PUT = "PUT"; - static constexpr const char* OPTIONS = "OPTIONS"; + static inline constexpr char* POST = "POST"; + static inline constexpr char* GET = "GET"; + static inline constexpr char* PATCH = "PATCH"; + static inline constexpr char* DELETE = "DELETE"; + static inline constexpr char* PUT = "PUT"; + static inline constexpr char* OPTIONS = "OPTIONS"; }; struct ApiVersion { static const inline std::string api = "/api/"; diff --git a/libs/utils/log.hpp b/libs/utils/log.hpp index 0db14c6..94db395 100644 --- a/libs/utils/log.hpp +++ b/libs/utils/log.hpp @@ -54,7 +54,7 @@ private: default: return "UNKNOWN"; } } - static auto str(const type& t) -> std::string { + static auto str(const type& t) noexcept -> std::string { switch (t) { case WEBSOCKET: return "WEBSOCKET"; case NETWORK: return "NETWORK"; diff --git a/sources/main.cpp b/sources/main.cpp index d315f83..3fca8e3 100644 --- a/sources/main.cpp +++ b/sources/main.cpp @@ -1,5 +1,6 @@ #include #include +#include int main(int argc, char* argv[]) { cxxopts::Options options("sparkle", "WIP discord bot library in C++"); options.add_options()