From 8978e6accdae51839f1cf7dc3b1dd26d4cddc9b3 Mon Sep 17 00:00:00 2001 From: Kyle Sanderson Date: Wed, 9 Aug 2017 13:23:08 -0700 Subject: [PATCH] Commit missing ISteamHTTP Natives. SourceTree is awful. --- Extension/sdk/smsdk_config.h | 2 +- Extension/swhttprequest.cpp | 60 +++++++++++++++++++++++++++++++++++- Pawn/includes/SteamWorks.inc | 9 ++++-- 3 files changed, 67 insertions(+), 4 deletions(-) diff --git a/Extension/sdk/smsdk_config.h b/Extension/sdk/smsdk_config.h index 9ac5f9e..1cc4801 100644 --- a/Extension/sdk/smsdk_config.h +++ b/Extension/sdk/smsdk_config.h @@ -40,7 +40,7 @@ /* Basic information exposed publicly */ #define SMEXT_CONF_NAME "SteamWorks Extension" #define SMEXT_CONF_DESCRIPTION "Exposes SteamWorks functions to Developers" -#define SMEXT_CONF_VERSION "1.2.1" +#define SMEXT_CONF_VERSION "1.2.2" #define SMEXT_CONF_AUTHOR "Kyle Sanderson" #define SMEXT_CONF_URL "http://AlliedMods.net" #define SMEXT_CONF_LOGTAG "STEAMWORKS" diff --git a/Extension/swhttprequest.cpp b/Extension/swhttprequest.cpp index fc771d5..a8b7583 100644 --- a/Extension/swhttprequest.cpp +++ b/Extension/swhttprequest.cpp @@ -49,7 +49,7 @@ static SteamWorksHTTPRequest *GetRequestPointer(ISteamHTTP *&pHTTP, IPluginConte return NULL; } - return pRequest; + return pRequest; } SteamWorksHTTPRequest::SteamWorksHTTPRequest() : request(INVALID_HTTPREQUEST_HANDLE), handle(BAD_HANDLE), pCompletedForward(NULL), pHeadersReceivedForward(NULL), pDataReceivedForward(NULL) @@ -570,12 +570,69 @@ static cell_t sm_GetHTTPStreamingResponseBodyData(IPluginContext *pContext, cons return pHTTP->GetHTTPStreamingResponseBodyData(pRequest->request, params[2], reinterpret_cast(pBuffer), params[4]) ? 1 : 0; } +static cell_t sm_SetHTTPRequestUserAgentInfo(IPluginContext *pContext, const cell_t *params) +{ + ISteamHTTP *pHTTP; + SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]); + if (pRequest == NULL) + { + return 0; + } + + char *pName; + pContext->LocalToString(params[2], &pName); + + return pHTTP->SetHTTPRequestUserAgentInfo(pRequest->request, pName) ? 1 : 0; +} + +static cell_t sm_SetHTTPRequestRequiresVerifiedCertificate(IPluginContext *pContext, const cell_t *params) +{ + ISteamHTTP *pHTTP; + SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]); + if (pRequest == NULL) + { + return 0; + } + + return pHTTP->SetHTTPRequestRequiresVerifiedCertificate(pRequest->request, !!params[2]) ? 1 : 0; +} + +static cell_t sm_SetHTTPRequestAbsoluteTimeoutMS(IPluginContext *pContext, const cell_t *params) +{ + ISteamHTTP *pHTTP; + SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]); + if (pRequest == NULL) + { + return 0; + } + + return pHTTP->SetHTTPRequestAbsoluteTimeoutMS(pRequest->request, params[2]) ? 1 : 0; +} + +static cell_t sm_GetHTTPRequestWasTimedOut(IPluginContext *pContext, const cell_t *params) +{ + ISteamHTTP *pHTTP; + SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]); + if (pRequest == NULL) + { + return 0; + } + + cell_t *pData; + pContext->LocalToPhysAddr(params[2], &pData); + + return pHTTP->GetHTTPRequestWasTimedOut(pRequest->request, static_cast(pData)) ? 1 : 0; +} + static sp_nativeinfo_t httpnatives[] = { {"SteamWorks_CreateHTTPRequest", sm_CreateHTTPRequest}, {"SteamWorks_SetHTTPRequestContextValue", sm_SetHTTPRequestContextValue}, {"SteamWorks_SetHTTPRequestNetworkActivityTimeout", sm_SetHTTPRequestNetworkActivityTimeout}, {"SteamWorks_SetHTTPRequestHeaderValue", sm_SetHTTPRequestHeaderValue}, {"SteamWorks_SetHTTPRequestGetOrPostParameter", sm_SetHTTPRequestGetOrPostParameter}, + {"SteamWorks_SetHTTPRequestUserAgentInfo", sm_SetHTTPRequestUserAgentInfo}, + {"SteamWorks_SetHTTPRequestRequiresVerifiedCertificate", sm_SetHTTPRequestRequiresVerifiedCertificate}, + {"SteamWorks_SetHTTPRequestAbsoluteTimeoutMS", sm_SetHTTPRequestAbsoluteTimeoutMS}, {"SteamWorks_SetHTTPCallbacks", sm_SetCallbacks}, {"SteamWorks_SendHTTPRequest", sm_SendHTTPRequest}, {"SteamWorks_DeferHTTPRequest", sm_DeferHTTPRequest}, @@ -585,6 +642,7 @@ static sp_nativeinfo_t httpnatives[] = { {"SteamWorks_GetHTTPResponseBodySize", sm_GetHTTPResponseBodySize}, {"SteamWorks_GetHTTPResponseBodyData", sm_GetHTTPResponseBodyData}, {"SteamWorks_GetHTTPDownloadProgressPct", sm_GetHTTPDownloadProgressPct}, + {"SteamWorks_GetHTTPRequestWasTimedOut", sm_GetHTTPRequestWasTimedOut}, {"SteamWorks_SetHTTPRequestRawPostBody", sm_SetHTTPRequestRawPostBody}, {"SteamWorks_GetHTTPResponseBodyCallback", sm_GetHTTPResponseBodyCallback}, {"SteamWorks_WriteHTTPResponseBodyToFile", sm_WriteHTTPResponseBodyToFile}, diff --git a/Pawn/includes/SteamWorks.inc b/Pawn/includes/SteamWorks.inc index 1278142..5a4c22d 100644 --- a/Pawn/includes/SteamWorks.inc +++ b/Pawn/includes/SteamWorks.inc @@ -215,8 +215,8 @@ native bool:SteamWorks_IsVACEnabled(); native bool:SteamWorks_GetPublicIP(ipaddr[4]); native SteamWorks_GetPublicIPCell(); native bool:SteamWorks_IsLoaded(); -native bool:SteamWorks_SetGameDescription(String:sDesc[]); -native bool:SteamWorks_SetMapName(String:sMapName[]); +native bool:SteamWorks_SetGameDescription(const String:sDesc[]); +native bool:SteamWorks_SetMapName(const String:sMapName[]); native bool:SteamWorks_IsConnected(); native bool:SteamWorks_SetRule(const String:sKey[], const String:sValue[]); native bool:SteamWorks_ClearRules(); @@ -240,6 +240,10 @@ native bool:SteamWorks_SetHTTPRequestContextValue(Handle:hHandle, any:data1, any native bool:SteamWorks_SetHTTPRequestNetworkActivityTimeout(Handle:hHandle, timeout); native bool:SteamWorks_SetHTTPRequestHeaderValue(Handle:hHandle, const String:sName[], const String:sValue[]); native bool:SteamWorks_SetHTTPRequestGetOrPostParameter(Handle:hHandle, const String:sName[], const String:sValue[]); +native bool:SteamWorks_SetHTTPRequestUserAgentInfo(Handle:hHandle, const String:sUserAgentInfo[]); +native bool:SteamWorks_SetHTTPRequestRequiresVerifiedCertificate(Handle:hHandle, bool:bRequireVerifiedCertificate); +native bool:SteamWorks_SetHTTPRequestAbsoluteTimeoutMS(Handle:hHandle, unMilliseconds); + funcenum SteamWorksHTTPRequestCompleted { @@ -273,6 +277,7 @@ native bool:SteamWorks_GetHTTPResponseBodySize(Handle:hRequest, &size); native bool:SteamWorks_GetHTTPResponseBodyData(Handle:hRequest, String:sBody[], length); native bool:SteamWorks_GetHTTPStreamingResponseBodyData(Handle:hRequest, cOffset, String:sBody[], length); native bool:SteamWorks_GetHTTPDownloadProgressPct(Handle:hRequest, &Float:percent); +native bool:SteamWorks_GetHTTPRequestWasTimedOut(Handle:hRequest, &bool:bWasTimedOut); native bool:SteamWorks_SetHTTPRequestRawPostBody(Handle:hRequest, const String:sContentType[], const String:sBody[], bodylen); funcenum SteamWorksHTTPBodyCallback