Module: Apphunk::Remote

Defined in:
lib/apphunk/remote.rb,
lib/apphunk/remote/result.rb

Defined Under Namespace

Classes: Result

Class Method Summary collapse

Class Method Details

.post(url, payload = {}, post_timeout = 30) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/apphunk/remote.rb', line 12

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