Sha256: b794df737f9858c8ad8dc4f09389612d01f51d1c03a0e5c296a842d31ba414b1

Contents?: true

Size: 921 Bytes

Versions: 2

Compression:

Stored size: 921 Bytes

Contents

require 'net/http'

class Connector
  def post(payload)
    uri = build_uri
    req = Net::HTTP::Post.new(uri)
    req.content_type = 'application/json'
    req.body = payload

    if CoverBoard::Config.user && CoverBoard::Config.password
      req.basic_auth CoverBoard::Config.user, CoverBoard::Config.password
    end

    if CoverBoard::Config.verbose
      puts "Pushing to #{uri}"
      puts "Application id #{CoverBoard::Config.uid}"
      puts "Payload #{payload}"
    end

    response = Net::HTTP.new(uri.hostname, uri.port).start {|http| http.request(req) }

    if CoverBoard::Config.verbose
      puts "Response #{response.code} #{response.message}: #{response.body}"
    end

    response
  end

  private
    def build_uri
      uri = 'http'
      uri += 's' if CoverBoard::Config.https

      URI("#{uri}://#{CoverBoard::Config.host}:#{CoverBoard::Config.port}#{CoverBoard::Config.endpoint}")
    end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
simplecov-coverboard-0.1.1 lib/api/connector.rb
simplecov-coverboard-0.1.0 lib/api/connector.rb