39 lines
885 B
C++
39 lines
885 B
C++
#ifndef UTILS_HPP
|
|
#define UTILS_HPP
|
|
|
|
#include <expected>
|
|
#include <string>
|
|
#include <cstdint>
|
|
#include <filesystem>
|
|
#include <map>
|
|
#include "json.hpp"
|
|
|
|
namespace utils {
|
|
std::map<std::string, std::string> parseBody(const std::string& body);
|
|
|
|
std::optional<std::string> getBodyName(const std::string& body);
|
|
|
|
std::expected<bool, std::string> isLocalPortOpen(uint16_t portno);
|
|
|
|
std::string to_id_format(const std::string& s);
|
|
|
|
std::string loadFile(const std::string& path);
|
|
|
|
std::filesystem::path getDataDir();
|
|
|
|
std::string urlDecode(const std::string& str);
|
|
|
|
std::string currentTime();
|
|
|
|
template<typename T>
|
|
std::string toJsonArray(const std::vector<T>& data){
|
|
nlohmann::json arr = nlohmann::json::array();
|
|
for (auto& c : data) {
|
|
arr.push_back(nlohmann::json(c));
|
|
}
|
|
return arr.dump();
|
|
}
|
|
}
|
|
|
|
#endif
|