Skip to content
This repository has been archived by the owner on Sep 21, 2022. It is now read-only.

Commit

Permalink
added user agent headers
Browse files Browse the repository at this point in the history
  • Loading branch information
Turupawn committed Nov 13, 2019
1 parent 96f8e8b commit c9f6e68
Show file tree
Hide file tree
Showing 8 changed files with 38 additions and 26 deletions.
1 change: 1 addition & 0 deletions include/Globals.h
Expand Up @@ -8,6 +8,7 @@

namespace modio
{
extern std::string VERSION;
extern std::string API_KEY;
extern std::string ACCESS_TOKEN;
extern bool IS_LOGGED_IN;
Expand Down
1 change: 1 addition & 0 deletions include/Utility.h
Expand Up @@ -99,6 +99,7 @@ void removeFile(const std::string &filename);
double getFileSize(const std::string &file_path);
void createPath(const std::string &strPathAndFile);
std::vector<std::string> getHeaders();
std::vector<std::string> getHeadersNoToken();
std::vector<std::string> getUrlEncodedHeaders();
std::string base64Encode(unsigned char const* bytes_to_encode, unsigned int in_len);
} // namespace modio
Expand Down
1 change: 1 addition & 0 deletions src/Globals.cpp
Expand Up @@ -2,6 +2,7 @@

namespace modio
{
std::string VERSION = "v0.12.4 DEV";
std::string API_KEY;
std::string ACCESS_TOKEN = "";
bool IS_LOGGED_IN = false;
Expand Down
9 changes: 9 additions & 0 deletions src/Utility.cpp
Expand Up @@ -530,14 +530,23 @@ void createPath(const std::string &path)
std::vector<std::string> getHeaders()
{
std::vector<std::string> headers;
headers.push_back("User-Agent: Modio-SDK-" + modio::VERSION);
if (modio::ACCESS_TOKEN != "")
headers.push_back("Authorization: Bearer " + modio::ACCESS_TOKEN);
return headers;
}

std::vector<std::string> getHeadersNoToken()
{
std::vector<std::string> headers;
headers.push_back("User-Agent: Modio-SDK-" + modio::VERSION);
return headers;
}

std::vector<std::string> getUrlEncodedHeaders()
{
std::vector<std::string> headers;
headers.push_back("User-Agent: Modio-SDK-" + modio::VERSION);
if (modio::ACCESS_TOKEN != "")
headers.push_back("Authorization: Bearer " + modio::ACCESS_TOKEN);
headers.push_back("Content-Type: application/x-www-form-urlencoded");
Expand Down
2 changes: 1 addition & 1 deletion src/c/methods/AuthenticationMethods.cpp
Expand Up @@ -31,7 +31,7 @@ extern "C"
std::string url = modio::MODIO_URL + modio::MODIO_VERSION_PATH + "oauth/emailexchange";
url += "?api_key=" + modio::API_KEY;
url += "&security_code=" + std::string(security_code);
modio::curlwrapper::post(call_number, url, std::vector<std::string>(), data, &modioOnEmailExchanged);
modio::curlwrapper::post(call_number, url, modio::getHeadersNoToken(), data, &modioOnEmailExchanged);
}

void modioAuthenticateViaToken(char const* access_token)
Expand Down
46 changes: 23 additions & 23 deletions src/c/methods/ExternalAuthenticationMethods.cpp
Expand Up @@ -16,31 +16,31 @@ extern "C"
std::map<std::string, std::string> data;
data["appdata"] = modio::curlwrapper::dataURLEncode(std::string(appdata));

modio::curlwrapper::post(call_number, url, std::vector<std::string>(), data, &modioOnGalaxyAuth);
modio::curlwrapper::post(call_number, url, modio::getHeadersNoToken(), data, &modioOnGalaxyAuth);
}

void modioOculusAuth(void* object, char const* nonce, char const* oculus_user_id, char const* access_token, char const* email, u32 date_expires, void (*callback)(void* object, ModioResponse response))
{
u32 call_number = modio::curlwrapper::getCallNumber();

oculus_auth_params[call_number] = new GenericRequestParams;
oculus_auth_params[call_number]->callback = callback;
oculus_auth_params[call_number]->object = object;
void modioOculusAuth(void* object, char const* nonce, char const* oculus_user_id, char const* access_token, char const* email, u32 date_expires, void (*callback)(void* object, ModioResponse response))
{
u32 call_number = modio::curlwrapper::getCallNumber();

std::string url = modio::MODIO_URL + modio::MODIO_VERSION_PATH + "external/oculusauth";
url += "?api_key=" + modio::API_KEY;
oculus_auth_params[call_number] = new GenericRequestParams;
oculus_auth_params[call_number]->callback = callback;
oculus_auth_params[call_number]->object = object;

std::map<std::string, std::string> data;
data["nonce"] = modio::curlwrapper::dataURLEncode(std::string(nonce));
data["user_id"] = modio::curlwrapper::dataURLEncode(std::string(oculus_user_id));
data["access_token"] = modio::curlwrapper::dataURLEncode(std::string(access_token));
if(email)
data["email"] = modio::curlwrapper::dataURLEncode(std::string(email));
if(date_expires != 0)
data["date_expires"] = modio::curlwrapper::dataURLEncode(modio::toString(date_expires));
std::string url = modio::MODIO_URL + modio::MODIO_VERSION_PATH + "external/oculusauth";
url += "?api_key=" + modio::API_KEY;

modio::curlwrapper::post(call_number, url, std::vector<std::string>(), data, &modioOnOculusAuth);
}
std::map<std::string, std::string> data;
data["nonce"] = modio::curlwrapper::dataURLEncode(std::string(nonce));
data["user_id"] = modio::curlwrapper::dataURLEncode(std::string(oculus_user_id));
data["access_token"] = modio::curlwrapper::dataURLEncode(std::string(access_token));
if(email)
data["email"] = modio::curlwrapper::dataURLEncode(std::string(email));
if(date_expires != 0)
data["date_expires"] = modio::curlwrapper::dataURLEncode(modio::toString(date_expires));

modio::curlwrapper::post(call_number, url, modio::getHeadersNoToken(), data, &modioOnOculusAuth);
}

void modioSteamAuth(void* object, unsigned char const* rgubTicket, u32 cubTicket, void (*callback)(void* object, ModioResponse response))
{
Expand All @@ -56,7 +56,7 @@ extern "C"
std::map<std::string, std::string> data;
data["appdata"] = modio::curlwrapper::dataURLEncode(modio::base64Encode(rgubTicket, cubTicket));

modio::curlwrapper::post(call_number, url, std::vector<std::string>(), data, &modioOnSteamAuth);
modio::curlwrapper::post(call_number, url, modio::getHeadersNoToken(), data, &modioOnSteamAuth);
}

void modioSteamAuthEncoded(void* object, char const* base64_ticket, void (*callback)(void* object, ModioResponse response))
Expand All @@ -73,7 +73,7 @@ extern "C"
std::map<std::string, std::string> data;
data["appdata"] = modio::curlwrapper::dataURLEncode(std::string(base64_ticket));

modio::curlwrapper::post(call_number, url, std::vector<std::string>(), data, &modioOnSteamAuthEncoded);
modio::curlwrapper::post(call_number, url, modio::getHeadersNoToken(), data, &modioOnSteamAuthEncoded);
}

void modioLinkExternalAccount(void* object, u32 service, char const* service_id, char const* email, void (*callback)(void* object, ModioResponse response))
Expand Down Expand Up @@ -101,6 +101,6 @@ extern "C"

std::string url = modio::MODIO_URL + modio::MODIO_VERSION_PATH + "external/link";

modio::curlwrapper::post(call_number, url, std::vector<std::string>(), data, &modioOnLinkExternalAccount);
modio::curlwrapper::post(call_number, url, modio::getHeaders(), data, &modioOnLinkExternalAccount);
}
}
2 changes: 1 addition & 1 deletion src/c/methods/ModfileMethods.cpp
Expand Up @@ -79,7 +79,7 @@ extern "C"
modio::curlwrapper::put(call_number, url, modio::getHeaders(), modio::convertModfileEditorToMultimap(&modfile_editor), &modioOnModfileEdited);
}

void MODIO_DLL modioDeleteModfile(void* object, u32 mod_id, u32 modfile_id, void (*callback)(void* object, ModioResponse response))
void modioDeleteModfile(void* object, u32 mod_id, u32 modfile_id, void (*callback)(void* object, ModioResponse response))
{
u32 call_number = modio::curlwrapper::getCallNumber();

Expand Down
2 changes: 1 addition & 1 deletion src/modio.cpp
Expand Up @@ -74,7 +74,7 @@ void modioInit(u32 environment, u32 game_id, bool retrieve_mods_from_other_games
modio::writeLogLine(".modio/ directory created at current workspace.", MODIO_DEBUGLEVEL_LOG);
}

modio::writeLogLine("v0.12.3 DEV", MODIO_DEBUGLEVEL_LOG);
modio::writeLogLine(modio::VERSION, MODIO_DEBUGLEVEL_LOG);

if (environment == MODIO_ENVIRONMENT_TEST)
modio::MODIO_URL = "https://api.test.mod.io/";
Expand Down

0 comments on commit c9f6e68

Please sign in to comment.