From b18a6ad577f545ce1f6db51cf72bc64cf8eadd2d Mon Sep 17 00:00:00 2001 From: Andreas Eger Date: Fri, 9 Aug 2013 00:12:05 +0200 Subject: [PATCH 1/2] fetch body directly from response --- lib/sinatra/browserid.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/sinatra/browserid.rb b/lib/sinatra/browserid.rb index 39ba9b1..2679900 100644 --- a/lib/sinatra/browserid.rb +++ b/lib/sinatra/browserid.rb @@ -86,10 +86,10 @@ def self.registered(app) "audience" => audience, } data_str = data.collect { |k, v| "#{k}=#{v}" }.join("&") - res, body = http.post("/verify", data_str) + res = http.post("/verify", data_str) # TODO: check res is a 200 - verify = JSON.parse(body) || nil + verify = JSON.parse(res.body) || nil if verify.nil? # JSON parsing error return From ed0770262646f05cb69f3bc14895113e38cfbede Mon Sep 17 00:00:00 2001 From: Andreas Eger Date: Fri, 9 Aug 2013 00:23:18 +0200 Subject: [PATCH 2/2] fix JSON namespace issue --- lib/sinatra/browserid.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/sinatra/browserid.rb b/lib/sinatra/browserid.rb index 2679900..8b10f78 100644 --- a/lib/sinatra/browserid.rb +++ b/lib/sinatra/browserid.rb @@ -88,10 +88,9 @@ def self.registered(app) data_str = data.collect { |k, v| "#{k}=#{v}" }.join("&") res = http.post("/verify", data_str) - # TODO: check res is a 200 - verify = JSON.parse(res.body) || nil - if verify.nil? - # JSON parsing error + if res.code =~ /^2\d{2}$/ + verify = ::JSON.parse(res.body) + else return end