HTTP API documentation

Version: beta

FUNCTION
http.request() perform a HTTP/HTTPS request

Functions

http.request()

http.request(url,method,callback,[headers],[post_data],[options])

Perform a HTTP/HTTPS request. If no timeout value is passed, the configuration value "network.http_timeout" is used. If that is not set, the timeout value is 0 (which blocks indefinitely).

PARAMETERS

url target url
method HTTP/HTTPS method, e.g. "GET", "PUT", "POST" etc.
callback response callback function
self
object The script instance
id
hash Internal message identifier. Do not use!
response
table The response data. Contains the fields:
  • number status: the status of the response
  • string response: the response data (if not saved on disc)
  • table headers: all the returned headers
  • string path: the stored path (if saved to disc)
  • string error: if any unforeseen errors occurred (e.g. file I/O)
[headers] optional table with custom headers
[post_data] optional data to send
[options] optional table with request parameters. Supported entries:
  • number timeout: timeout in seconds
  • string path: path on disc where to download the file. Only overwrites the path if status is 200
  • boolean ignore_cache: don't return cached data if we get a 304

EXAMPLES

Basic HTTP-GET request. The callback receives a table with the response in the fields status, the response (the data) and headers (a table).
local function http_result(self, _, response)
    print(response.status)
    print(response.response)
    pprint(response.headers)
end

function init(self)
    http.request("http://www.google.com", "GET", http_result)
end