class Shipit::Cli::Server

Public Class Methods

new(url, options = {}) click to toggle source
# File lib/shipit/cli/server.rb, line 9
def initialize(url, options = {})
  @uri = URI(url)
  @scheme = @uri.scheme || "https"
  @method = options[:method] || :get
  @body = options[:body]
  @private_token = options[:private_token] || Shipit::Cli.config.private_token
  @authorization_header = "Token #{@private_token}"
  @http = set_http(@uri, @scheme)
end

Public Instance Methods

request() click to toggle source
# File lib/shipit/cli/server.rb, line 19
def request
  case @method
  when :post
    @request = Net::HTTP::Post.new(@uri.request_uri, initheader = { "Content-Type" => "application/json" })
    @request.body = @body.to_json
  else
    @request = Net::HTTP::Get.new(@uri.request_uri)
  end

  @request["authorization"] = @authorization_header
  @request
end
response() click to toggle source
# File lib/shipit/cli/server.rb, line 32
def response
  @response ||= @http.request(request)
end

Private Instance Methods

set_http(uri, scheme) click to toggle source
# File lib/shipit/cli/server.rb, line 38
def set_http(uri, scheme)
  http = Net::HTTP.new(uri.host, uri.port)
  if scheme == "https"
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_PEER
  end
  http
end