Sha256: 8feff2da9922b260170446da406875a38a71ee9eaa0ae36ddabdf9d22978e47f
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
require 'uri' module Locomotive module Steam module Services class ExternalAPI include ::HTTParty def consume(url, options = {}) url = ::HTTParty.normalize_base_uri(url) uri = URI.parse(url) options[:base_uri] = "#{uri.scheme}://#{uri.host}" options[:base_uri] += ":#{uri.port}" if uri.port != 80 path = uri.request_uri options.delete(:format) if options[:format] == 'default' username, password = options.delete(:username), options.delete(:password) options[:basic_auth] = { username: username, password: password } if username path ||= '/' # Locomotive::Common::Logger.debug "[WebService] consuming #{path}, #{options.inspect}" response = self.class.get(path, options) if response.code == 200 _response = response.parsed_response if _response.respond_to?(:underscore_keys) _response.underscore_keys else _response.collect(&:underscore_keys) end else Locomotive::Common::Logger.error "[WebService] consumed #{path}, #{options.inspect}, response = #{response.inspect}" nil end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
locomotivecms_steam-0.1.1 | lib/locomotive/steam/services/external_api.rb |