Class: ForestLiana::ForestApiRequester
- Inherits:
-
Object
- Object
- ForestLiana::ForestApiRequester
- Defined in:
- app/services/forest_liana/forest_api_requester.rb
Class Method Summary collapse
- .base_headers ⇒ Object
- .forest_api_url ⇒ Object
- .get(route, query: nil, headers: {}) ⇒ Object
- .post(route, body: nil, query: nil, headers: {}) ⇒ Object
Class Method Details
.base_headers ⇒ Object
42 43 44 45 46 47 48 |
# File 'app/services/forest_liana/forest_api_requester.rb', line 42 def self.base_headers base_headers = { 'Content-Type' => 'application/json', } base_headers['forest-secret-key'] = ForestLiana.env_secret if !ForestLiana.env_secret.nil? return base_headers end |
.forest_api_url ⇒ Object
50 51 52 |
# File 'app/services/forest_liana/forest_api_requester.rb', line 50 def self.forest_api_url ENV['FOREST_URL'] || 'https://api.forestadmin.com' end |
.get(route, query: nil, headers: {}) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'app/services/forest_liana/forest_api_requester.rb', line 5 def self.get(route, query: nil, headers: {}) begin HTTParty.get("#{forest_api_url}#{route}", { :verify => Rails.env.production?, headers: base_headers.merge(headers), query: query, }).response rescue => error FOREST_LOGGER.error "Cannot reach Forest API at #{forest_api_url}#{route}, it seems to be down right now." FOREST_REPORTER.report error raise error end end |
.post(route, body: nil, query: nil, headers: {}) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/services/forest_liana/forest_api_requester.rb', line 19 def self.post(route, body: nil, query: nil, headers: {}) begin if route.start_with?('https://') post_route = route else post_route = "#{forest_api_url}#{route}" end HTTParty.post(post_route, { :verify => Rails.env.production?, headers: base_headers.merge(headers), query: query, body: body.to_json, }).response rescue => error FOREST_LOGGER.error "Cannot reach Forest API at #{post_route}, it seems to be down right now." FOREST_REPORTER.report error raise error end end |