GetRemoteRequestInfo: Difference between revisions
Jump to navigation
Jump to search
Fernando187 (talk | contribs) (Remove obsolete Requirements section) |
|||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Server client function}} | {{Server client function}} | ||
__NOTOC__ | __NOTOC__ | ||
{{New feature/item|3.0158|1.5.7|20307| | |||
Gets informations of an [[FetchRemote|fetchRemote]] or [[CallRemote|callRemote]] request info. | Gets informations of an [[FetchRemote|fetchRemote]] or [[CallRemote|callRemote]] request info. | ||
}} | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
table getRemoteRequestInfo ( request theRequest ) | table getRemoteRequestInfo ( request theRequest [, int postDataLength = 0 [, bool includeHeaders = false ] ] ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 24: | Line 25: | ||
*'''connectionAttempts:''' A number specifying max number connection attempts as declared in the fetchRemote call | *'''connectionAttempts:''' A number specifying max number connection attempts as declared in the fetchRemote call | ||
*'''connectionTimeout:''' A number specifying connection attempt timeout as declared in the fetchRemote call | *'''connectionTimeout:''' A number specifying connection attempt timeout as declared in the fetchRemote call | ||
*'''postData:''' A string containing the request post data | *'''postData:''' A string containing the request post data as declared in the fetchRemote call | ||
*'''headers:''' A table containing the HTTP headers as declared in the fetchRemote call | *'''headers:''' A table containing the request HTTP headers as declared in the fetchRemote call | ||
==Example== | ==Example== | ||
Line 84: | Line 85: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
==See Also== | ==See Also== | ||
{{Resource functions}} | {{Resource functions}} |
Latest revision as of 17:17, 7 November 2024
Gets informations of an fetchRemote or callRemote request info.
Syntax
table getRemoteRequestInfo ( request theRequest [, int postDataLength = 0 [, bool includeHeaders = false ] ] )
Required Arguments
- theRequest: returned from fetchRemote, callRemote or getRemoteRequests
Returns
Returns a table when valid, false otherwise The table contains:
- bytesReceived: A number specifying the amount of data received so far. Zero means the download is queued
- bytesTotal: A number specifying the final download size. Will be zero if the remote HTTP server has not set the 'Content-Length' header
- currentAttempt: A number specifying the current connection attempt
- type: A string specifying either "fetch" or "call"
- url: A string specifying the URL
- resource: The resource which started the request, or false if the resource has since been stopped/restarted
- queue: A string specifying the queue name
- method: A string specifying the HTTP method. e.g. "GET" or "POST"
- connectionAttempts: A number specifying max number connection attempts as declared in the fetchRemote call
- connectionTimeout: A number specifying connection attempt timeout as declared in the fetchRemote call
- postData: A string containing the request post data as declared in the fetchRemote call
- headers: A table containing the request HTTP headers as declared in the fetchRemote call
Example
Click to collapse [-]
ServerThis example gets infos about all pending requests and prints them in debugscript
function CMD_requestInfo(player, _, resourceName) local res = resourceName and getResourceFromName(resourceName) or not resourceName and nil if(res == false) then outputServerLog("There is no resource named '" .. resourceName .. "'") return elseif(res and getResourceState(res) ~= "running") then outputServerLog("The provided resource '" .. resourceName .. "' is not running") return end local requests = getRemoteRequests(res) for _, request in ipairs(requests) do local requestInfo = getRemoteRequestInfo(request) if(requestInfo) then iprint(requestInfo) end end end addCommandHandler("requestinfo", CMD_requestInfo)
Click to collapse [-]
ClientThis example gets infos about all pending requests and prints them in debugscript
function CMD_requestInfo(player, _, resourceName) local res = resourceName and getResourceFromName(resourceName) or not resourceName and nil if(res == false) then outputChatBox("There is no resource named '" .. resourceName .. "'") return elseif(res and getResourceState(res) ~= "running") then outputChatBox("The provided resource '" .. resourceName .. "' is not running") return end local requests = getRemoteRequests(res) for _, request in ipairs(requests) do local requestInfo = getRemoteRequestInfo(request) if(requestInfo) then iprint(requestInfo) end end end addCommandHandler("requestinfo", CMD_requestInfo)
See Also
- abortRemoteRequest
- call
- fetchRemote
- getResourceConfig
- getResourceDynamicElementRoot
- getResourceExportedFunctions
- getResourceFromName
- getResourceName
- getResourceRootElement
- getResourceState
- getThisResource
- getRemoteRequests
- getRemoteRequestInfo