Sha256: 19b867c22d1f03c52a3097aaf669ab1aca5fd83916d7789f5bb472d8aebbe317

Contents?: true

Size: 702 Bytes

Versions: 7

Compression:

Stored size: 702 Bytes

Contents

require 'net/http'
require 'timeout'
require 'uri'

module Apphunkd
  module Remote
    
    autoload :Result, 'apphunkd/remote/result'
    
    class << self
      
      def post(url, payload = {}, post_timeout = 30)
        begin
          Timeout.timeout(post_timeout) do
            uri = URI.parse(url)
            result = Remote::Result.new(:response => Net::HTTP.post_form(uri, payload))
            result.status = :ok
            return result
          end
        rescue SocketError, Errno::ECONNREFUSED
          Remote::Result.new(:status => :connection_error)
        rescue Timeout::Error
          Remote::Result.new(:status => :timeout)
        end
      end
      
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
apphunkd-0.12.2 lib/apphunkd/remote.rb
apphunkd-0.12.1 lib/apphunkd/remote.rb
apphunkd-0.12.0 lib/apphunkd/remote.rb
apphunkd-0.11.1 lib/apphunkd/remote.rb
apphunkd-0.11.0 lib/apphunkd/remote.rb
apphunkd-0.10.1 lib/apphunkd/remote.rb
apphunkd-0.10.0 lib/apphunkd/remote.rb