GetRemoteRequestInfo

From Multi Theft Auto: Wiki
Revision as of 14:25, 11 October 2019 by Ccw (talk | contribs) (→‎Returns)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Gets informations of an fetchRemote or callRemote request info.

Syntax

table getRemoteRequestInfo ( request theRequest[, int postDataLength = 0[, bool includeHeaders = false]] )

Required Arguments

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 [-]
Server

This 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 [-]
Client

This 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)


Minimum server version 1.5.7-9.20307
Minimum client version 1.5.7-9.20307

Note: Using this feature requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version server="1.5.7-9.20307" client="1.5.7-9.20307" />

See Also