Sha256: e125dcd11078b3b9db39f6d5548f6b8598ec5cec87c08a73fadf0a8350816bfd
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
require "concurrent" require "rest-client" module Sqspoller class WorkerTask HEADERS = { 'Content-Type' => 'application/json', 'Accept' => 'application/json' } ALLOWED_METHODS = { 'post' => :post, 'get' => :get } def initialize(worker_configuration, logger_file) @http_method = ALLOWED_METHODS[worker_configuration[:http_method].downcase] @http_url = worker_configuration[:http_url] @timeout = worker_configuration[:timeout] && worker_configuration[:timeout].to_i || 450 end def process(message, _message_id) if @http_method RestClient::Request.execute(:method => @http_method, :url => @http_url, :payload => message, :headers => HEADERS, :timeout => @timeout, :open_timeout => 5) do |response, request, result| case response.code when 200 return "OK" else raise "Service did not return 200 OK response. #{response.code}" end end else raise "Invalid http_method provided. #{http_method}" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fk-redis-sqspoller-0.1.1 | lib/sqspoller/worker_task.rb |
fk-redis-sqspoller-0.1.0 | lib/sqspoller/worker_task.rb |