Sha256: 49918ad1e578d4ba80423d56189ae152aafdb3e18dc54bef1083b98e18f9cad5

Contents?: true

Size: 1.55 KB

Versions: 3

Compression:

Stored size: 1.55 KB

Contents

#require 'httpclient'
require 'net/http'
require 'net/https'
require 'xmlsimple'
require 'json'

# Selectively silence verbose JRuby warnings
def suppress_warnings
  old_verbose = $VERBOSE
  begin
    $VERBOSE = nil
    yield if block_given?
  ensure
    # always re-set to old value, even if block raises an exception
    $VERBOSE = old_verbose
  end
end

# Avoid OpenSSL failures
suppress_warnings { OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE }

module Releaseable
  module HTTP

    def self.post address, data
      uri = URI(address)
      p uri.request_uri

      server = Net::HTTP.new(uri.host, uri.port)
      server.use_ssl = (uri.scheme == 'https')
      server.verify_mode = OpenSSL::SSL::VERIFY_NONE if server.use_ssl?

      server.start do |http|
        req = Net::HTTP::Post.new(uri.path)
        case data
          when Hash
            req.form_data = data
          when Array
            req.body = data
            req.content_type = 'multipart/form-data'
        end
        http.request(req)
      end
    end

    def self.get address, user, pass, query
      uri = URI("#{address}?" + query.map { |k, v| "#{k}=#{URI.encode(v.to_s)}" }.join('&'))
      p uri.request_uri

      server = Net::HTTP.new(uri.host, uri.port)
      #server.use_ssl = (uri.scheme == 'https')
      #server.verify_mode = OpenSSL::SSL::VERIFY_NONE if server.use_ssl?

      server.start do |http|
        req = Net::HTTP::Get.new(uri.request_uri)
        req.basic_auth user, pass

        http.request(req)
      end
    end

  end # module Loggly
end # module Releaseable

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
releaseable-0.0.22 lib/releaseable/http.rb
releaseable-0.0.21 lib/releaseable/http.rb
releaseable-0.0.20 lib/releaseable/http.rb