Class: Janky::Builder::HTTP

Inherits:
Object
  • Object
show all
Defined in:
lib/janky/builder/http.rb

Instance Method Summary collapse

Constructor Details

#initialize(username, password) ⇒ HTTP

Returns a new instance of HTTP.



4
5
6
7
# File 'lib/janky/builder/http.rb', line 4

def initialize(username, password)
  @username = username
  @password = password
end

Instance Method Details

#output(url) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/janky/builder/http.rb', line 29

def output(url)
  http     = Net::HTTP.new(url.host, url.port)
  if url.scheme == "https"
    http.use_ssl = true
  end

  request  = Net::HTTP::Get.new(url.path)
  if @username && @password
    request.basic_auth(@username, @password)
  end

  response = http.request(request)

  unless response.code == "200"
    Exception.push_http_response(response)
    raise Error, "Failed to get build output"
  end

  response.body
end

#run(params, create_url) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/janky/builder/http.rb', line 9

def run(params, create_url)
  http     = Net::HTTP.new(create_url.host, create_url.port)
  if create_url.scheme == "https"
    http.use_ssl = true
  end

  request  = Net::HTTP::Post.new(create_url.path)
  if @username && @password
    request.basic_auth(@username, @password)
  end
  request.form_data = {"json" => params}

  response = http.request(request)

  if !%w[302 201].include?(response.code)
    Exception.push_http_response(response)
    raise Error, "Failed to create build"
  end
end