Module: Elastic::WorkplaceSearch::Request
- Included in:
- Client
- Defined in:
- lib/elastic/workplace-search/request.rb
Instance Method Summary collapse
- #delete(path, params = {}) ⇒ Object
- #get(path, params = {}) ⇒ Object
- #post(path, params = {}) ⇒ Object
- #put(path, params = {}) ⇒ Object
-
#request(method, path, params = {}) ⇒ Object
Construct and send a request to the API.
Instance Method Details
#delete(path, params = {}) ⇒ Object
24 25 26 |
# File 'lib/elastic/workplace-search/request.rb', line 24 def delete(path, params={}) request(:delete, path, params) end |
#get(path, params = {}) ⇒ Object
12 13 14 |
# File 'lib/elastic/workplace-search/request.rb', line 12 def get(path, params={}) request(:get, path, params) end |
#post(path, params = {}) ⇒ Object
16 17 18 |
# File 'lib/elastic/workplace-search/request.rb', line 16 def post(path, params={}) request(:post, path, params) end |
#put(path, params = {}) ⇒ Object
20 21 22 |
# File 'lib/elastic/workplace-search/request.rb', line 20 def put(path, params={}) request(:put, path, params) end |
#request(method, path, params = {}) ⇒ Object
Construct and send a request to the API.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/elastic/workplace-search/request.rb', line 31 def request(method, path, params = {}) Timeout.timeout(overall_timeout) do uri = URI.parse("#{Elastic::WorkplaceSearch.endpoint}#{path}") request = build_request(method, uri, params) if proxy proxy_parts = URI.parse(proxy) http = Net::HTTP.new(uri.host, uri.port, proxy_parts.host, proxy_parts.port, proxy_parts.user, proxy_parts.password) else http = Net::HTTP.new(uri.host, uri.port) end http.open_timeout = open_timeout http.read_timeout = overall_timeout if uri.scheme == 'https' http.use_ssl = true # st_ssl_verify_none provides a means to disable SSL verification for debugging purposes. An example # is Charles, which uses a self-signed certificate in order to inspect https traffic. This will # not be part of this client's public API, this is more of a development enablement option http.verify_mode = ENV['st_ssl_verify_none'] == 'true' ? OpenSSL::SSL::VERIFY_NONE : OpenSSL::SSL::VERIFY_PEER http.ca_file = File.realpath(File.join(File.dirname(__FILE__), '..', '..', 'data', 'ca-bundle.crt')) http.ssl_timeout = open_timeout end response = http.request(request) handle_errors(response) JSON.parse(response.body) if response.body && response.body.strip != '' end end |