Class: Gloo::Objs::HttpGet
- Inherits:
-
Core::Obj
- Object
- Core::Baseo
- Core::Obj
- Gloo::Objs::HttpGet
- Defined in:
- lib/gloo/objs/web/http_get.rb
Constant Summary collapse
- KEYWORD =
'http_get'.freeze
- KEYWORD_SHORT =
'get'.freeze
- URL =
'uri'.freeze
- DEFAULT_URL =
'https://web.site/'.freeze
- PARAMS =
'params'.freeze
- RESULT =
'result'.freeze
- SKIP_SSL_VERIFY =
'skip_ssl_verify'.freeze
Constants inherited from Core::Baseo
Core::Baseo::NOT_IMPLEMENTED_ERR
Instance Attribute Summary
Attributes inherited from Core::Obj
Attributes inherited from Core::Baseo
Class Method Summary collapse
-
.doc_data ⇒ Object
Get the object's documentation data.
-
.invoke_request(url, skip_ssl_verify = false) ⇒ Object
Post the content to the endpoint.
-
.messages ⇒ Object
Get a list of message names that this object receives.
-
.short_typename ⇒ Object
The short name of the object type.
-
.typename ⇒ Object
The name of the object type.
Instance Method Summary collapse
-
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
-
#add_default_children ⇒ Object
Add children to this object.
-
#msg_run ⇒ Object
Post the content to the endpoint.
Methods inherited from Core::Obj
#add_child, can_create?, #can_receive_message?, #child_count, #child_index, #contains_child?, #delete_children, #dispatch, #display_value, #find_add_child, #find_child, #find_child_resolve_alias, #find_child_value, help, inherited, #initialize, #is_alias?, #is_container?, #is_function?, #msg_blank?, #msg_contains?, #msg_reload, #msg_responds_to?, #msg_unload, #multiline_value?, #pn, #remove_child, #render, #root?, #send_message, #set_parent, #set_value, #sql_value, #type_display, #value_display, #value_is_array?, #value_is_blank?, #value_string?
Methods inherited from Core::Baseo
Constructor Details
This class inherits a constructor from Gloo::Core::Obj
Class Method Details
.doc_data ⇒ Object
Get the object's documentation data.
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/gloo/objs/web/http_get.rb', line 158 def self.doc_data { :name => KEYWORD, :shortcut => KEYWORD_SHORT, :description => 'Perform an HTTP Get.', :children => [ "uri (string) — Example: 'https://web.site/'. The URI for the HTTP Get request.", 'params (container) — Collection of parameters for the HTTP Get.', 'result (string) — The result of the request. Whatever was returned from the HTTP Get call.', 'skip_ssl_verify (boolean) — Optional. Skip the SSL verification as part of the request.' ], :messages => [ 'run — Run the HTTP Get and update the result.' ], :examples => <<~EXAMPLES.strip g [http_get] : uri [string] : http://api.sunrise-sunset.org/json params [container] : lat [string] : 36.7201600 lng [string] : -4.4203400 date [string] : today result [string] : > run g EXAMPLES } end |
.invoke_request(url, skip_ssl_verify = false) ⇒ Object
Post the content to the endpoint.
90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/gloo/objs/web/http_get.rb', line 90 def self.invoke_request( url, skip_ssl_verify = false ) uri = URI( url ) params = { use_ssl: uri.scheme == 'https' } params[ :verify_mode ] = ::OpenSSL::SSL::VERIFY_NONE if skip_ssl_verify Net::HTTP.start( uri.host, uri.port, params ) do |http| request = Net::HTTP::Get.new uri response = http.request request # Net::HTTPResponse object return response.body end end |
.messages ⇒ Object
Get a list of message names that this object receives.
69 70 71 |
# File 'lib/gloo/objs/web/http_get.rb', line 69 def self. return super + [ 'run' ] end |
.short_typename ⇒ Object
The short name of the object type.
33 34 35 |
# File 'lib/gloo/objs/web/http_get.rb', line 33 def self.short_typename return KEYWORD_SHORT end |
.typename ⇒ Object
The name of the object type.
26 27 28 |
# File 'lib/gloo/objs/web/http_get.rb', line 26 def self.typename return KEYWORD end |
Instance Method Details
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
46 47 48 |
# File 'lib/gloo/objs/web/http_get.rb', line 46 def add_children_on_create? return true end |
#add_default_children ⇒ Object
Add children to this object. This is used by containers to add children needed for default configurations.
55 56 57 58 59 60 |
# File 'lib/gloo/objs/web/http_get.rb', line 55 def add_default_children fac = @engine.factory fac.create_string URL, DEFAULT_URL, self fac.create_can PARAMS, self fac.create_string RESULT, nil, self end |
#msg_run ⇒ Object
Post the content to the endpoint.
76 77 78 79 80 81 |
# File 'lib/gloo/objs/web/http_get.rb', line 76 def msg_run url = full_url_value @engine.log.debug url r = Gloo::Objs::HttpGet.invoke_request( url, skip_ssl_verify? ) update_result r end |