Class: OpenHAB::Core::Actions::HTTP

Inherits:
Object
  • Object
show all
Defined in:
lib/openhab/core/actions/http.rb

Overview

The HTTP actions allow you to send HTTP requests and receive the response.

Examples:

# Send a GET request
headers = {
  "User-Agent": "JRuby/1.2.3", # enclose in quotes if the key contains dashes
  Accept: "application/json",
}
response = HTTP.get("http://example.com/list", headers: headers)

See Also:

Class Method Summary collapse

Class Method Details

.send_http_delete_request(url, headers: {}, timeout: nil) ⇒ String? Also known as: delete

Sends an HTTP DELETE request and returns the result as a String.

Parameters:

  • url (String)
  • headers (Hash<String, String>, Hash<Symbol, String>) (defaults to: {})

    A hash of headers to send with the request. Keys are strings or symbols, values are strings. Underscores in symbolic keys are replaced with dashes.

  • timeout (Duration, int, nil) (defaults to: nil)

    Timeout (in milliseconds, if given as an Integer)

Returns:

  • (String)

    the response body

  • (nil)

    if an error occurred



89
90
91
92
93
94
# File 'lib/openhab/core/actions/http.rb', line 89

def send_http_delete_request(url, headers: {}, timeout: nil)
  timeout ||= 1_000
  timeout = timeout.to_millis if timeout.is_a?(Duration)

  sendHttpDeleteRequest(url, headers.transform_keys(&:to_s), timeout)
end

.send_http_get_request(url, headers: {}, timeout: nil) ⇒ String? Also known as: get

Sends an HTTP GET request and returns the result as a String.

Parameters:

  • url (String)
  • headers (Hash<String, String>, Hash<Symbol, String>) (defaults to: {})

    A hash of headers to send with the request. Symbolic keys will be converted to strings.

  • timeout (Duration, int, nil) (defaults to: nil)

    Timeout (in milliseconds, if given as an Integer)

Returns:

  • (String)

    the response body

  • (nil)

    if an error occurred



30
31
32
33
34
35
# File 'lib/openhab/core/actions/http.rb', line 30

def send_http_get_request(url, headers: {}, timeout: nil)
  timeout ||= 5_000
  timeout = timeout.to_millis if timeout.is_a?(Duration)

  sendHttpGetRequest(url, headers.transform_keys(&:to_s), timeout)
end

.send_http_post_request(url, content_type = nil, content = nil, headers: {}, timeout: nil) ⇒ String? Also known as: post

Sends an HTTP POST request and returns the result as a String.

Parameters:

  • url (String)
  • content_type (String) (defaults to: nil)
  • content (String) (defaults to: nil)
  • headers (Hash<String, String>, Hash<Symbol, String>) (defaults to: {})

    A hash of headers to send with the request. Symbolic keys will be converted to strings.

  • timeout (Duration, int, nil) (defaults to: nil)

    Timeout (in milliseconds, if given as an Integer)

Returns:

  • (String)

    the response body

  • (nil)

    if an error occurred



70
71
72
73
74
75
# File 'lib/openhab/core/actions/http.rb', line 70

def send_http_post_request(url, content_type = nil, content = nil, headers: {}, timeout: nil)
  timeout ||= 1_000
  timeout = timeout.to_millis if timeout.is_a?(Duration)

  sendHttpPostRequest(url, content_type, content, headers.transform_keys(&:to_s), timeout)
end

.send_http_put_request(url, content_type = nil, content = nil, headers: {}, timeout: nil) ⇒ String? Also known as: put

Sends an HTTP PUT request and returns the result as a String.

Parameters:

  • url (String)
  • content_type (String) (defaults to: nil)
  • content (String) (defaults to: nil)
  • headers (Hash<String, String>, Hash<Symbol, String>) (defaults to: {})

    A hash of headers to send with the request. Symbolic keys will be converted to strings.

  • timeout (Duration, int, nil) (defaults to: nil)

    Timeout (in milliseconds, if given as an Integer)

Returns:

  • (String)

    the response body

  • (nil)

    if an error occurred



50
51
52
53
54
55
# File 'lib/openhab/core/actions/http.rb', line 50

def send_http_put_request(url, content_type = nil, content = nil, headers: {}, timeout: nil)
  timeout ||= 1_000
  timeout = timeout.to_millis if timeout.is_a?(Duration)

  sendHttpPutRequest(url, content_type, content, headers.transform_keys(&:to_s), timeout)
end