ISteamHTTP
Note
This documentation is auto-generated. Methods marked with 🤖 are automatically generated bindings. Methods marked with ✍️ are manually implemented and methods marked with ✋ are currently not implemented.
Note
This interface can be accessed has multiple accessors (e.g. a GameServer variant), the documentation shows HTTP everywhere but it can also be accessed with GameServerHTTP.
List of Functions
List of Callbacks
Function Reference
- HTTP.CreateCookieContainer(bAllowResponsesToModify)
🤖 Auto-generated binding
- Parameters:
bAllowResponsesToModify (bool) –
- Returns:
(int - HTTPCookieContainerHandle) Return value
- SteamWorks:
- HTTP.CreateHTTPRequest(eHTTPRequestMethod, pchAbsoluteURL)
🤖 Auto-generated binding
- Parameters:
eHTTPRequestMethod (int - EHTTPMethod) –
pchAbsoluteURL (str?) –
- Returns:
(int - HTTPRequestHandle) Return value
- SteamWorks:
Example:
local hReq = Steam.HTTP.CreateHTTPRequest('GET', 'https://api.example.com/leaderboard')
Steam.HTTP.SetHTTPRequestHeaderValue(hReq, 'Accept', 'application/json')
Steam.HTTP.SendHTTPRequest(hReq)
- HTTP.DeferHTTPRequest(hRequest)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
- Returns:
(bool) Return value
- SteamWorks:
- HTTP.GetHTTPDownloadProgressPct(hRequest)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
- Returns:
(bool) Return value
- Returns:
(float)
pflPercentOut- SteamWorks:
Signature differences from C++ API:
Parameter
pflPercentOutis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.
Example:
-- Poll progress for a large download
local pct = Steam.HTTP.GetHTTPDownloadProgressPct(hReq)
print(string.format('Download: %.1f%%', pct * 100))
- HTTP.GetHTTPRequestWasTimedOut(hRequest)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
- Returns:
(bool) Return value
- Returns:
(bool)
pbWasTimedOut- SteamWorks:
Signature differences from C++ API:
Parameter
pbWasTimedOutis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.
- HTTP.GetHTTPResponseBodyData(hRequest, unBufferSize)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
unBufferSize (int?) – size of the buffer to allocate for
pBodyDataBuffer. Ifnilthen the buffer will beNULL.
- Returns:
(bool) Return value
- Returns:
(str)
pBodyDataBuffer- SteamWorks:
Signature differences from C++ API:
Parameter
pBodyDataBufferis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.
Notes:
See
HTTP.GetHTTPResponseBodySize()’s example.
- HTTP.GetHTTPResponseBodySize(hRequest)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
- Returns:
(bool) Return value
- Returns:
(int)
unBodySize- SteamWorks:
Signature differences from C++ API:
Parameter
unBodySizeis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.
Example:
function Steam.HTTP.OnHTTPRequestCompleted(data)
if data.m_eStatusCode == 200 then
local size = Steam.HTTP.GetHTTPResponseBodySize(data.m_hRequest)
local ok, body = Steam.HTTP.GetHTTPResponseBodyData(data.m_hRequest, size)
if ok then
handleResponse(body)
end
end
Steam.HTTP.ReleaseHTTPRequest(data.m_hRequest)
end
- HTTP.GetHTTPResponseHeaderSize(hRequest, pchHeaderName)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
pchHeaderName (str?) –
- Returns:
(bool) Return value
- Returns:
(int)
unResponseHeaderSize- SteamWorks:
Signature differences from C++ API:
Parameter
unResponseHeaderSizeis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.
- HTTP.GetHTTPResponseHeaderValue(hRequest, pchHeaderName, unBufferSize)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
pchHeaderName (str?) –
unBufferSize (int?) – size of the buffer to allocate for
pHeaderValueBuffer. Ifnilthen the buffer will beNULL.
- Returns:
(bool) Return value
- Returns:
(str)
pHeaderValueBuffer- SteamWorks:
Signature differences from C++ API:
Parameter
pHeaderValueBufferis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.
Example:
function Steam.HTTP.OnHTTPRequestCompleted(data)
local size = Steam.HTTP.GetHTTPResponseHeaderSize(data.m_hRequest, 'Content-Type')
if size > 0 then
local ok, ct = Steam.HTTP.GetHTTPResponseHeaderValue(data.m_hRequest, 'Content-Type', size)
if ok then
print('Content-Type:', ct)
end
end
Steam.HTTP.ReleaseHTTPRequest(data.m_hRequest)
end
- HTTP.GetHTTPStreamingResponseBodyData(hRequest, cOffset, unBufferSize)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
cOffset (int) –
unBufferSize (int?) – size of the buffer to allocate for
pBodyDataBuffer. Ifnilthen the buffer will beNULL.
- Returns:
(bool) Return value
- Returns:
(str)
pBodyDataBuffer- SteamWorks:
Signature differences from C++ API:
Parameter
pBodyDataBufferis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.
- HTTP.PrioritizeHTTPRequest(hRequest)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
- Returns:
(bool) Return value
- SteamWorks:
- HTTP.ReleaseCookieContainer(hCookieContainer)
🤖 Auto-generated binding
- Parameters:
hCookieContainer (int - HTTPCookieContainerHandle) –
- Returns:
(bool) Return value
- SteamWorks:
- HTTP.ReleaseHTTPRequest(hRequest)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
- Returns:
(bool) Return value
- SteamWorks:
Example:
-- Always release the request handle when done
Steam.HTTP.ReleaseHTTPRequest(hReq)
- HTTP.SendHTTPRequest(hRequest)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
- Returns:
(bool) Return value
- Returns:
(uint64)
pCallHandle- SteamWorks:
Signature differences from C++ API:
Parameter
pCallHandleis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.
Example:
local hReq = Steam.HTTP.CreateHTTPRequest('GET', 'https://example.com/data.json')
Steam.HTTP.SetHTTPRequestNetworkActivityTimeout(hReq, 10)
Steam.HTTP.SendHTTPRequest(hReq)
- HTTP.SendHTTPRequestAndStreamResponse(hRequest)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
- Returns:
(bool) Return value
- Returns:
(uint64)
pCallHandle- SteamWorks:
Signature differences from C++ API:
Parameter
pCallHandleis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.
- HTTP.SetCookie(hCookieContainer, pchHost, pchUrl, pchCookie)
🤖 Auto-generated binding
- Parameters:
hCookieContainer (int - HTTPCookieContainerHandle) –
pchHost (str?) –
pchUrl (str?) –
pchCookie (str?) –
- Returns:
(bool) Return value
- SteamWorks:
- HTTP.SetHTTPRequestAbsoluteTimeoutMS(hRequest, unMilliseconds)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
unMilliseconds (int) –
- Returns:
(bool) Return value
- SteamWorks:
- HTTP.SetHTTPRequestContextValue(hRequest, ulContextValue)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
ulContextValue (uint64) –
- Returns:
(bool) Return value
- SteamWorks:
- HTTP.SetHTTPRequestCookieContainer(hRequest, hCookieContainer)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
hCookieContainer (int - HTTPCookieContainerHandle) –
- Returns:
(bool) Return value
- SteamWorks:
- HTTP.SetHTTPRequestGetOrPostParameter(hRequest, pchParamName, pchParamValue)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
pchParamName (str?) –
pchParamValue (str?) –
- Returns:
(bool) Return value
- SteamWorks:
Example:
local hReq = Steam.HTTP.CreateHTTPRequest('POST', 'https://api.example.com/score')
Steam.HTTP.SetHTTPRequestGetOrPostParameter(hReq, 'score', tostring(playerScore))
Steam.HTTP.SetHTTPRequestGetOrPostParameter(hReq, 'player', playerName)
Steam.HTTP.SendHTTPRequest(hReq)
- HTTP.SetHTTPRequestHeaderValue(hRequest, pchHeaderName, pchHeaderValue)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
pchHeaderName (str?) –
pchHeaderValue (str?) –
- Returns:
(bool) Return value
- SteamWorks:
Notes:
See
HTTP.CreateHTTPRequest()’s example.
- HTTP.SetHTTPRequestNetworkActivityTimeout(hRequest, unTimeoutSeconds)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
unTimeoutSeconds (int) –
- Returns:
(bool) Return value
- SteamWorks:
Example:
local hReq = Steam.HTTP.CreateHTTPRequest('GET', 'https://example.com/ping')
Steam.HTTP.SetHTTPRequestNetworkActivityTimeout(hReq, 5)
Steam.HTTP.SendHTTPRequest(hReq)
- HTTP.SetHTTPRequestRawPostBody(hRequest, pchContentType, pubBody, unBodyLen)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
pchContentType (str?) –
pubBody (str?) –
unBodyLen (int) – size of the input array
pubBody
- Returns:
(bool) Return value
- SteamWorks:
Example:
local json = '{"action":"submit","data":"value"}'
local hReq = Steam.HTTP.CreateHTTPRequest('POST', 'https://api.example.com/action')
Steam.HTTP.SetHTTPRequestRawPostBody(hReq, 'application/json', json, #json)
Steam.HTTP.SendHTTPRequest(hReq)
- HTTP.SetHTTPRequestRequiresVerifiedCertificate(hRequest, bRequireVerifiedCertificate)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
bRequireVerifiedCertificate (bool) –
- Returns:
(bool) Return value
- SteamWorks:
- HTTP.SetHTTPRequestUserAgentInfo(hRequest, pchUserAgentInfo)
🤖 Auto-generated binding
- Parameters:
hRequest (int - HTTPRequestHandle) –
pchUserAgentInfo (str?) –
- Returns:
(bool) Return value
- SteamWorks:
Callbacks
- HTTP.OnHTTPRequestCompleted()
Callback for HTTPRequestCompleted_t
callback(data) receives:
data.m_hRequest (int - HTTPRequestHandle)
data.m_ulContextValue (uint64)
data.m_bRequestSuccessful (bool)
data.m_eStatusCode (int - EHTTPStatusCode)
data.m_unBodySize (int)
- HTTP.OnHTTPRequestHeadersReceived()
Callback for HTTPRequestHeadersReceived_t
callback(data) receives:
data.m_hRequest (int - HTTPRequestHandle)
data.m_ulContextValue (uint64)
- HTTP.OnHTTPRequestDataReceived()
Callback for HTTPRequestDataReceived_t
callback(data) receives:
data.m_hRequest (int - HTTPRequestHandle)
data.m_ulContextValue (uint64)
data.m_cOffset (int)
data.m_cBytesReceived (int)