mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-03-21 17:34:57 -05:00
63 lines
2.2 KiB
C++
63 lines
2.2 KiB
C++
#pragma once
|
|
#include <httplib.h>
|
|
#include <obs.hpp>
|
|
#include <string>
|
|
#include <chrono>
|
|
|
|
namespace advss {
|
|
|
|
class TwitchToken;
|
|
|
|
struct RequestResult {
|
|
int status = 0;
|
|
OBSData data = nullptr;
|
|
};
|
|
|
|
const char *GetClientID();
|
|
|
|
// These functions can cache the RequestResult for 10s
|
|
|
|
RequestResult SendGetRequest(const TwitchToken &token, const std::string &uri,
|
|
const std::string &path,
|
|
const httplib::Params ¶ms = {},
|
|
bool useCache = false);
|
|
RequestResult SendPostRequest(const TwitchToken &token, const std::string &uri,
|
|
const std::string &path,
|
|
const httplib::Params ¶ms,
|
|
const OBSData &data, bool useCache = false);
|
|
RequestResult SendPostRequest(const TwitchToken &token, const std::string &uri,
|
|
const std::string &path,
|
|
const httplib::Params ¶ms = {},
|
|
const std::string &data = "",
|
|
bool useCache = false);
|
|
RequestResult SendPutRequest(const TwitchToken &token, const std::string &uri,
|
|
const std::string &path,
|
|
const httplib::Params ¶ms, const OBSData &data,
|
|
bool useCache = false);
|
|
RequestResult SendPutRequest(const TwitchToken &token, const std::string &uri,
|
|
const std::string &path,
|
|
const httplib::Params ¶ms = {},
|
|
const std::string &data = "",
|
|
bool useCache = false);
|
|
RequestResult SendPatchRequest(const TwitchToken &token, const std::string &uri,
|
|
const std::string &path,
|
|
const httplib::Params ¶ms,
|
|
const OBSData &data, bool useCache = false);
|
|
RequestResult SendPatchRequest(const TwitchToken &token, const std::string &uri,
|
|
const std::string &path,
|
|
const httplib::Params ¶ms = {},
|
|
const std::string &data = "",
|
|
bool useCache = false);
|
|
RequestResult SendDeleteRequest(const TwitchToken &token,
|
|
const std::string &uri, const std::string &path,
|
|
const httplib::Params ¶ms = {});
|
|
|
|
// Helper functions to set temp var values
|
|
|
|
void SetJsonTempVars(const std::string &jsonStr,
|
|
std::function<void(const char *, const char *)> setVarFunc);
|
|
void SetJsonTempVars(obs_data_t *data,
|
|
std::function<void(const char *, const char *)> setVarFunc);
|
|
|
|
} // namespace advss
|