concourserb 0.0.18 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/concourserb.rb +13 -2
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9621e8198c441b399f8c1fd925c43ac8b6f7ee62e304dd5a1c0255cee439cfe0
4
- data.tar.gz: 608d1767247edbc9346ba896d905e643c693d182401fa04b22d6ff0da3911101
3
+ metadata.gz: a0f700987900c7c5fc3fe73507e206950d8836690f0ff6683b1336933e2efc1a
4
+ data.tar.gz: 4874fb69fc70257b692a769b970b67475e608daf03a8d3bec39583a710901439
5
5
  SHA512:
6
- metadata.gz: 9f13c3caa9b8b4697922a9fe456e1ff183ee103f713c6641e60f65477ad09d9809980a2000ecf53606c6001edd72bc89f8d8cea69fdc5e8d812e7c034838527d
7
- data.tar.gz: 18278f3d5ba6f80afcb2c3c4b002a14559ba89850f2e0cdbdfa403e76f59a9b879da1506d0011516dfc7129a20001f11c5b33a056df5d669164cab8645eb1fac
6
+ metadata.gz: aeae35de147673b138bea105cef27e33411747f3dcc6d0b3a67a0dc0d24c20e51198f566c8bb9b9a27c679cd60df0293f9a5bde5c4131f7004767f7e940e8f51
7
+ data.tar.gz: d36d10289a2dcd07b20c74056239fb7ee3288bd33831ddfe0d8257aa4f41be67b5c7b7f038b29f3b03287d61facb80daafec711d5d7d3c507068d4cf7e8bac23
data/lib/concourserb.rb CHANGED
@@ -167,10 +167,21 @@ class Concourserb
167
167
 
168
168
  def auth()
169
169
  # TODO fix this up to be cleaner; this is the first POC for concourse auth 4.0
170
- http = Net::HTTP.new(URI.parse(@url).host, URI.parse(@url).port)
170
+ host = @URI.parse(@url)
171
+ port = URI.parse(@url).port
172
+ http = Net::HTTP.new(host, port)
171
173
  http.use_ssl = true
172
174
  request = Net::HTTP::Get.new("https://#{URI.parse(@url).host}/sky/login")
173
175
  response = http.request(request)
176
+ case response
177
+ when Net::HTTPSuccess then
178
+ break
179
+ when Net::HTTPRedirection then
180
+ location = response['Location']
181
+ cookie_value = response['set-cookie'].split(';')[0]
182
+ if URI.parse(response['Location']).host
183
+ else
184
+ raise "unexpected response"
174
185
  cookie_value = response['set-cookie'].split(';')[0]
175
186
  request = Net::HTTP::Get.new(URI.parse(response['location']))
176
187
  request['Cookie'] = cookie_value
@@ -180,7 +191,7 @@ class Concourserb
180
191
  request.set_form_data({'login': @user, 'password': @pass})
181
192
  request['Cookie'] = cookie_value
182
193
  response = http.request(request)
183
- next_url = "https://#{response['location']}"
194
+ next_url = "https://#{URI.parse(@url).host}#{response['location']}"
184
195
  request = Net::HTTP::Get.new(URI.parse(next_url))
185
196
  request['Cookie'] = cookie_value
186
197
  response = http.request(request)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: concourserb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.18
4
+ version: 0.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Arwine