Sha256: 6534be5df3daa5f455f09a2f2ad8ae34b2d8621b55e968bc1d09342630427a7b

Contents?: true

Size: 934 Bytes

Versions: 1

Compression:

Stored size: 934 Bytes

Contents

require 'httparty'
require 'timeout'

module Apphunkd
  module Remote
    include HTTParty
    
    autoload :Result, 'apphunkd/remote/result'
    
    class << self
      
      def post_message(url, payload = {}, post_timeout = 60)
        begin
          payload.delete(:token)
          Timeout.timeout(post_timeout) do
            result = Remote::Result.new(self.post(url, :body => payload))
            result.status = :ok
            return result
          end
        rescue SocketError => e
          return Remote::Result.new(:status => :connection_error, :response => "SocketError: #{e.inspect}")
        rescue Errno::ECONNREFUSED => e
          return Remote::Result.new(:status => :connection_error, :response => "ConnRefused: #{e.inspect}")
        rescue Timeout::Error => e
          return Remote::Result.new(:status => :timeout, :response => "Timeout: #{e.inspect}")
        end
      end
      
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
apphunkd-0.13.0 lib/apphunkd/remote.rb