Sha256: b2755150b6abe80915e887b738ccf71a77420dd297f582467db987f124cc105f
Contents?: true
Size: 1.78 KB
Versions: 6
Compression:
Stored size: 1.78 KB
Contents
module GnipApi class Adapter GET = 'GET' POST = 'POST' DELETE = 'DELETE' attr_reader :adapter def initialize raise GnipApi::Errors::MissingCredentials unless GnipApi.credentials? raise GnipApi::Errors::MissingAdapter unless GnipApi.adapter_class? @adapter = GnipApi.config.adapter_class.new @logger = GnipApi.config.logger @debug = GnipApi.config.debug end def get request log_request(request) response = adapter.get(request) check_response_for_errors(response) return response.body unless response.body.empty? return true end def post request log_request(request) response = adapter.post(request) check_response_for_errors(response) return response.body unless response.body.empty? return true end def delete request log_request(request) response = adapter.delete(request) check_response_for_errors(response) return response.body unless response.body.empty? return true end def stream_get request log_request(request) adapter.stream_get(request) do |data| yield(data) end end def check_response_for_errors response if response.ok? @logger.info "#{response.request_method} request to #{response.request_uri} returned with status #{response.status} OK" else error_message = response.error_message @logger.error "#{response.request_method} request to #{response.request_uri} returned with status #{response.status} FAIL: #{error_message}" raise GnipApi::Errors::Adapter::RequestError.new error_message end end private def log_request request @logger.info "Starting #{request.request_method} request to #{request.uri}" end end end
Version data entries
6 entries across 6 versions & 1 rubygems