Sha256: cf5d1d702a6cfc59526e354e7a874bc80f34c56167e2e49e3f89ea37f954304f
Contents?: true
Size: 808 Bytes
Versions: 3
Compression:
Stored size: 808 Bytes
Contents
class Blitline require 'net/http' require 'uri' class HttpPoster # Perform a POST request. # Optionally takes a form_data hash. # Optionally takes a block to receive chunks of the response. def self.post(path, form_data=nil, &block) uri = URI.parse(path) unless path.is_a?(URI) @http = Net::HTTP.new(uri.host, uri.port) @http.use_ssl = true if uri.port == 443 request = Net::HTTP::Post.new(path) request.set_form_data(form_data) if form_data @http.request(request) do |response| if response.is_a? Net::HTTPSuccess return response.read_body(&block) else result_data = response.read_body(&block) raise "Post to Blitline.com failed. #{response.code}: #{result_data}" end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
blitline-2.9.0 | lib/blitline/http_poster.rb |
blitline-2.8.0 | lib/blitline/http_poster.rb |
blitline-2.7.0 | lib/blitline/http_poster.rb |