Consolidate Handle -> SteamWorksHTTPRequest Logic.
This commit is contained in:
+72
-192
@@ -31,6 +31,28 @@ static HandleType_t GetSteamHTTPHandle(void)
|
|||||||
return g_SteamWorks.pSWHTTP->GetHTTPHandle();
|
return g_SteamWorks.pSWHTTP->GetHTTPHandle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static SteamWorksHTTPRequest *GetRequestPointer(ISteamHTTP *&pHTTP, IPluginContext *pContext, cell_t Handle)
|
||||||
|
{
|
||||||
|
pHTTP = GetHTTPPointer();
|
||||||
|
if (pHTTP == NULL)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
HandleError err;
|
||||||
|
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
||||||
|
|
||||||
|
SteamWorksHTTPRequest *pRequest;
|
||||||
|
if ((err = handlesys->ReadHandle(Handle, GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
||||||
|
!= HandleError_None)
|
||||||
|
{
|
||||||
|
pContext->ThrowNativeError("Invalid Handle %x (error: %d)", Handle, err);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return pRequest;
|
||||||
|
}
|
||||||
|
|
||||||
SteamWorksHTTPRequest::SteamWorksHTTPRequest()
|
SteamWorksHTTPRequest::SteamWorksHTTPRequest()
|
||||||
{
|
{
|
||||||
this->request = INVALID_HTTPREQUEST_HANDLE;
|
this->request = INVALID_HTTPREQUEST_HANDLE;
|
||||||
@@ -140,64 +162,37 @@ static cell_t sm_CreateHTTPRequest(IPluginContext *pContext, const cell_t *param
|
|||||||
|
|
||||||
static cell_t sm_SetHTTPRequestContextValue(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_SetHTTPRequestContextValue(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
return pHTTP->SetHTTPRequestContextValue(pRequest->request, (static_cast<uint64_t>(params[2]) << 32 | static_cast<uint32_t>(params[3]))) ? 1 : 0;
|
return pHTTP->SetHTTPRequestContextValue(pRequest->request, (static_cast<uint64_t>(params[2]) << 32 | static_cast<uint32_t>(params[3]))) ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static cell_t sm_SetHTTPRequestNetworkActivityTimeout(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_SetHTTPRequestNetworkActivityTimeout(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
return pHTTP->SetHTTPRequestNetworkActivityTimeout(pRequest->request, params[2]) ? 1 : 0;
|
return pHTTP->SetHTTPRequestNetworkActivityTimeout(pRequest->request, params[2]) ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static cell_t sm_SetHTTPRequestHeaderValue(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_SetHTTPRequestHeaderValue(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *pName, *pValue;
|
char *pName, *pValue;
|
||||||
pContext->LocalToString(params[2], &pName);
|
pContext->LocalToString(params[2], &pName);
|
||||||
pContext->LocalToString(params[3], &pValue);
|
pContext->LocalToString(params[3], &pValue);
|
||||||
@@ -206,22 +201,13 @@ static cell_t sm_SetHTTPRequestHeaderValue(IPluginContext *pContext, const cell_
|
|||||||
|
|
||||||
static cell_t sm_SetHTTPRequestGetOrPostParameter(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_SetHTTPRequestGetOrPostParameter(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *pName, *pValue;
|
char *pName, *pValue;
|
||||||
pContext->LocalToString(params[2], &pName);
|
pContext->LocalToString(params[2], &pName);
|
||||||
pContext->LocalToString(params[3], &pValue);
|
pContext->LocalToString(params[3], &pValue);
|
||||||
@@ -230,27 +216,19 @@ static cell_t sm_SetHTTPRequestGetOrPostParameter(IPluginContext *pContext, cons
|
|||||||
|
|
||||||
static cell_t sm_SetCallbacks(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_SetCallbacks(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
IPlugin *pPlugin;
|
IPlugin *pPlugin;
|
||||||
if (params[5] == BAD_HANDLE)
|
if (params[5] == BAD_HANDLE)
|
||||||
{
|
{
|
||||||
pPlugin = plsys->FindPluginByContext(pContext->GetContext());
|
pPlugin = plsys->FindPluginByContext(pContext->GetContext());
|
||||||
} else {
|
} else {
|
||||||
|
HandleError err;
|
||||||
pPlugin = plsys->PluginFromHandle(params[5], &err);
|
pPlugin = plsys->PluginFromHandle(params[5], &err);
|
||||||
|
|
||||||
if (!pPlugin)
|
if (!pPlugin)
|
||||||
@@ -315,22 +293,13 @@ static cell_t sm_SetCallbacks(IPluginContext *pContext, const cell_t *params)
|
|||||||
|
|
||||||
static cell_t sm_SendHTTPRequest(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_SendHTTPRequest(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
SteamAPICall_t hCall;
|
SteamAPICall_t hCall;
|
||||||
cell_t result = pHTTP->SendHTTPRequest(pRequest->request, &hCall) ? 1 : 0;
|
cell_t result = pHTTP->SendHTTPRequest(pRequest->request, &hCall) ? 1 : 0;
|
||||||
|
|
||||||
@@ -357,64 +326,37 @@ static cell_t sm_SendHTTPRequest(IPluginContext *pContext, const cell_t *params)
|
|||||||
|
|
||||||
static cell_t sm_DeferHTTPRequest(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_DeferHTTPRequest(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
return pHTTP->DeferHTTPRequest(pRequest->request) ? 1 : 0;
|
return pHTTP->DeferHTTPRequest(pRequest->request) ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static cell_t sm_PrioritizeHTTPRequest(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_PrioritizeHTTPRequest(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
return pHTTP->PrioritizeHTTPRequest(pRequest->request) ? 1 : 0;
|
return pHTTP->PrioritizeHTTPRequest(pRequest->request) ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static cell_t sm_GetHTTPResponseHeaderSize(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_GetHTTPResponseHeaderSize(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *pName;
|
char *pName;
|
||||||
pContext->LocalToString(params[2], &pName);
|
pContext->LocalToString(params[2], &pName);
|
||||||
|
|
||||||
@@ -425,22 +367,13 @@ static cell_t sm_GetHTTPResponseHeaderSize(IPluginContext *pContext, const cell_
|
|||||||
|
|
||||||
static cell_t sm_GetHTTPResponseHeaderValue(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_GetHTTPResponseHeaderValue(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *pName;
|
char *pName;
|
||||||
pContext->LocalToString(params[2], &pName);
|
pContext->LocalToString(params[2], &pName);
|
||||||
|
|
||||||
@@ -451,22 +384,13 @@ static cell_t sm_GetHTTPResponseHeaderValue(IPluginContext *pContext, const cell
|
|||||||
|
|
||||||
static cell_t sm_GetHTTPResponseBodySize(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_GetHTTPResponseBodySize(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
cell_t *pSize;
|
cell_t *pSize;
|
||||||
pContext->LocalToPhysAddr(params[2], &pSize);
|
pContext->LocalToPhysAddr(params[2], &pSize);
|
||||||
return pHTTP->GetHTTPResponseBodySize(pRequest->request, reinterpret_cast<uint32_t *>(pSize)) ? 1 : 0;
|
return pHTTP->GetHTTPResponseBodySize(pRequest->request, reinterpret_cast<uint32_t *>(pSize)) ? 1 : 0;
|
||||||
@@ -474,22 +398,13 @@ static cell_t sm_GetHTTPResponseBodySize(IPluginContext *pContext, const cell_t
|
|||||||
|
|
||||||
static cell_t sm_GetHTTPResponseBodyData(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_GetHTTPResponseBodyData(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *pBuffer;
|
char *pBuffer;
|
||||||
pContext->LocalToString(params[2], &pBuffer);
|
pContext->LocalToString(params[2], &pBuffer);
|
||||||
return pHTTP->GetHTTPResponseBodyData(pRequest->request, reinterpret_cast<uint8_t *>(pBuffer), params[3]) ? 1 : 0;
|
return pHTTP->GetHTTPResponseBodyData(pRequest->request, reinterpret_cast<uint8_t *>(pBuffer), params[3]) ? 1 : 0;
|
||||||
@@ -497,22 +412,13 @@ static cell_t sm_GetHTTPResponseBodyData(IPluginContext *pContext, const cell_t
|
|||||||
|
|
||||||
static cell_t sm_GetHTTPDownloadProgressPct(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_GetHTTPDownloadProgressPct(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
float percent;
|
float percent;
|
||||||
cell_t result = pHTTP->GetHTTPDownloadProgressPct(pRequest->request, &percent) ? 1 : 0;
|
cell_t result = pHTTP->GetHTTPDownloadProgressPct(pRequest->request, &percent) ? 1 : 0;
|
||||||
|
|
||||||
@@ -524,22 +430,13 @@ static cell_t sm_GetHTTPDownloadProgressPct(IPluginContext *pContext, const cell
|
|||||||
|
|
||||||
static cell_t sm_SetHTTPRequestRawPostBody(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_SetHTTPRequestRawPostBody(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *pName, *pBuffer;
|
char *pName, *pBuffer;
|
||||||
pContext->LocalToString(params[2], &pName);
|
pContext->LocalToString(params[2], &pName);
|
||||||
pContext->LocalToString(params[3], &pBuffer);
|
pContext->LocalToString(params[3], &pBuffer);
|
||||||
@@ -549,27 +446,19 @@ static cell_t sm_SetHTTPRequestRawPostBody(IPluginContext *pContext, const cell_
|
|||||||
|
|
||||||
static cell_t sm_GetHTTPResponseBodyCallback(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_GetHTTPResponseBodyCallback(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
IPlugin *pPlugin;
|
IPlugin *pPlugin;
|
||||||
if (params[4] == BAD_HANDLE)
|
if (params[4] == BAD_HANDLE)
|
||||||
{
|
{
|
||||||
pPlugin = plsys->FindPluginByContext(pContext->GetContext());
|
pPlugin = plsys->FindPluginByContext(pContext->GetContext());
|
||||||
} else {
|
} else {
|
||||||
|
HandleError err;
|
||||||
pPlugin = plsys->PluginFromHandle(params[4], &err);
|
pPlugin = plsys->PluginFromHandle(params[4], &err);
|
||||||
|
|
||||||
if (!pPlugin)
|
if (!pPlugin)
|
||||||
@@ -610,22 +499,13 @@ static cell_t sm_GetHTTPResponseBodyCallback(IPluginContext *pContext, const cel
|
|||||||
|
|
||||||
static cell_t sm_WriteHTTPResponseBodyToFile(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_WriteHTTPResponseBodyToFile(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
ISteamHTTP *pHTTP = GetHTTPPointer();
|
ISteamHTTP *pHTTP;
|
||||||
if (pHTTP == NULL)
|
SteamWorksHTTPRequest *pRequest = GetRequestPointer(pHTTP, pContext, params[1]);
|
||||||
|
if (pRequest == NULL)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleError err;
|
|
||||||
HandleSecurity sec(pContext->GetIdentity(), myself->GetIdentity());
|
|
||||||
|
|
||||||
SteamWorksHTTPRequest *pRequest;
|
|
||||||
if ((err = handlesys->ReadHandle(params[1], GetSteamHTTPHandle(), &sec, (void **)&pRequest))
|
|
||||||
!= HandleError_None)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Invalid Handle %x (error: %d)", params[1], err);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t size;
|
uint32_t size;
|
||||||
if (pHTTP->GetHTTPResponseBodySize(pRequest->request, &size) == false)
|
if (pHTTP->GetHTTPResponseBodySize(pRequest->request, &size) == false)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user