Difference between revisions of "Function cgiGet()"
								
								Jump to navigation
				Jump to search
				
				
							
								
							
		| Line 39: | Line 39: | ||
|   -- sends HTTP request and handles the response |   -- sends HTTP request and handles the response | ||
|   devices.system.CgiGet{url="http://example.com/getcredit?id=42",getResponse} |   devices.system.CgiGet{url="http://example.com/getcredit?id=42",getResponse} | ||
| + | |||
| + | === Requirements === | ||
| + | Netio FirmWare 2.3.5+ | ||
| === See also === | === See also === | ||
Revision as of 22:03, 19 April 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{config}
Parameters
table config
- 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
- 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
