Sha256: 703f4d31dacd69b5c743284f81d57566b8817af59b55000edd911cd21e2528c8
Contents?: true
Size: 1.72 KB
Versions: 1
Compression:
Stored size: 1.72 KB
Contents
require "logger" require "concurrent" require "net/http" require "rest-client" require "json" module Sqspoller class WorkerTask def initialize(worker_configuration, logger_file) @logger = Logger.new(logger_file) @http_method = worker_configuration[:http_method] @http_url = worker_configuration[:http_url] @uri = URI(@http_url) end def process(message, message_id) params = {} parsed_message = JSON.parse(message) parsed_message.keys.each do |key| @logger.info "Creating a new params hash" params[key] = ( parsed_message[key].is_a?(Hash) ? parsed_message[key].to_json : parsed_message[key]) end @logger.info "rest-client, Got params as: #{message}" @logger.info "rest-client, Got params as: #{parsed_message}" @logger.info "rest-client, Got params as: #{params}" @logger.info "rest-client, json params as: #{params.to_json}" if @http_method.downcase == "post" RestClient::Request.execute(:method => :post, :url => @http_url, :payload => params.to_json, :timeout => 10, :open_timeout => 5) do |response, request, result| process_http_response response end elsif @http_method.downcase == "get" RestClient::Request.execute(:method => :get, :url => @http_url, :payload => params.to_json, :timeout => 10, :open_timeout => 5) do |response, request, result| process_http_response response end else raise "Invalid http_method provided. #{http_method}" end end def process_http_response(response) case response.code when 200 return "OK" else raise "Service did not return 200 OK response. #{response.code}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fourkites-sqspoller-0.1.12.16 | lib/sqspoller/worker_task.rb |