Module requests.lua
Web requests and data parsing.
Mimics basic api of Python's requests module. Requires cURL to work, as requests.lua is simply a lua wrapper for the cURL command line interface.
Functions
| requests.delete (url, args) | Make a DELETE request | 
| requests.get (url, args) | Make a GET request | 
| requests.post (url, args) | Make a POST request | 
| requests.put (url, args) | Make a PUT request | 
| requests.request (method, url, args) | Make an HTTP request | 
Class Request
| Request:build () | Build command for curl from request | 
| Request:send (cmd) | Send curl command and return parsed response | 
| Request:verify () | Verify request parameters | 
Class Response
| Response:iter_lines () | Iterate over the lines in the text of a response | 
| Response:json () | Convert a json formatted response text to a lua table | 
| Response:raise_for_status () | Check if the response was successful. | 
Class Response - properties
| Response.content_length | Content length of response | 
| Response.content_type | Content type of response | 
| Response.encoding | Encoding type of response | 
Functions
- requests.delete (url, args)
- 
    Make a DELETE request
    Parameters:Returns:- 
           Response
        response to request
    
 See also:
- requests.get (url, args)
- 
    Make a GET request
    Parameters:Returns:- 
           Response
        response to request
    
 See also:Usage:-- Send GET request to https://example.com local response = requests.get('https://example.com') -- Send GET request to http://example.com?value=1 local response = requests.get{'http://example.com', params={value=1}} 
- requests.post (url, args)
- 
    Make a POST request
    Parameters:Returns:- 
           Response
        response to request
    
 See also:Usage:-- POST json data '{"value":1}' to http://example.com local response = requests.post{'http://example.com', data={value=1}} -- OR local response = requests.post{'http://example.com', data='{"value":1}'} 
- requests.put (url, args)
- 
    Make a PUT request
    Parameters:Returns:- 
           Response
        response to request
    
 See also:
- requests.request (method, url, args)
- 
    Make an HTTP request
    Parameters:- method string one of GET, POST, PUT, DELETE
- url string url to request
- args
            table
         Possible request arguments:- auth: (table) http-auth credentials {user, pass}
- data: (table or string) data to be sent in request
- files: (table) files to be sent in request data {field_name=file_path,...}
- headers: (table) http-headers to be sent in request
- user_agent: (string) user agent to be sent in request
- verify_ssl: (bool) verify SSL certificate of response
 
 Returns:- 
           Response
        response to request
    
 
Class Request
          Request object
          
    - Request:build ()
- 
    Build command for curl from request
    Returns:- 
           objects.list
        curl command in list form
    
 
- Request:send (cmd)
- 
    Send curl command and return parsed response
    Parameters:- cmd table list of commands
 Returns:- 
           Response
        response to request
    
 
- Request:verify ()
- 
    Verify request parameters
    Raises:error with format described by following regex: Invalid request: (.*)
Class Response
          Response object returned by requests.request
          
    - Response:iter_lines ()
- 
    Iterate over the lines in the text of a response
    Returns:- 
        iterator of lines in response text
    
 
- Response:json ()
- 
    Convert a json formatted response text to a lua table
    Returns:- 
           table
        dictionary-like table of response
    
 
- Response:raise_for_status ()
- 
    Check if the response was successful.
 A successful response has a status_code between 200 and 399.
    Raises:error with format described by following regex: error in ([^ ]+) response: ([0-9]+)