Difference between revisions of "Function cgiGet()"
Jump to navigation
Jump to search
| Line 2: | Line 2: | ||
Execute HTTP GET call to given url and read the response. The call is asynchronous: the code execution proceeds immediately and when the response arrives, callback function is called. To perform simple HTTP GET call without response handling, use simpler [[Devices.system.CustomCGI()|devices.system.CustomCGI()]] | Execute HTTP GET call to given url and read the response. The call is asynchronous: the code execution proceeds immediately and when the response arrives, callback function is called. To perform simple HTTP GET call without response handling, use simpler [[Devices.system.CustomCGI()|devices.system.CustomCGI()]] | ||
| − | <i>nil</i> <b>devices.system.cgiGet</b> | + | <i>nil</i> <b>devices.system.cgiGet</b>(<i>table</i> <code>config</code>) |
=== Parameters === | === Parameters === | ||
Revision as of 19:23, 5 May 2017
Execute HTTP GET call to given url and read the response. The call is asynchronous: the code execution proceeds immediately and when the response arrives, callback function is called. To perform simple HTTP GET call without response handling, use simpler devices.system.CustomCGI()
nil devices.system.cgiGet(table config)
Parameters
table config{url, callback, timeout, bufferSize}
- string
urladdress to call - function{response}
callbackthis function is called when response arrives - optional number
timeoutmaximum seconds to wait for response (default 30) - optional number
bufferSizebytes of memory to allocate for response (min. 4k, max 1M)
Callback Parameters
table response{result, errInfo, received, buffer}
- number
resulterror code of the response (see below) - string
errInfoerror description (if result>0) - number
receivedresponse length - string
bufferresponse body
Error Code of the response
- 0 success, response HTTP/GET 2xx
- 22 response HTTP/GET 4xx
- 27 buffer overflow
- 28 response is timed out
Return value
nil
Usage
-- callback function to read the response
local function getResponse{response}
if response.result > 0 then
logf("response failed with error code %d.", response.result)
else
logf("current credit is %d", tonumber(response.buffer))
end
end
-- sends HTTP request and handles the response
devices.system.CgiGet{url="http://example.com/getcredit?id=42",getResponse}
Requirements
Netio FirmWare 2.3.5+
See also
- devices.system.CustomCGI() to send HTTP request without response handling