diff options
| -rwxr-xr-x | lib/custodian/protocol-tests/http.rb | 12 | ||||
| -rwxr-xr-x | lib/custodian/protocol-tests/https.rb | 12 | 
2 files changed, 20 insertions, 4 deletions
| diff --git a/lib/custodian/protocol-tests/http.rb b/lib/custodian/protocol-tests/http.rb index f08856d..c7910c5 100755 --- a/lib/custodian/protocol-tests/http.rb +++ b/lib/custodian/protocol-tests/http.rb @@ -128,8 +128,16 @@ class HTTPTest          response = http.start { http.get("#{url.path}?#{url.query}") }        end -      @status = response.code.to_i -      @body   =  response.body +      case response +      when Net::HTTPRedirection +      then +        newURL = response['location'].match(/^http/)? +        response['Location']:uri_str+response['Location'] +        return( getURL(newURL) ) +      else +        @status = response.code.to_i +        @body   =  response.body +      end        return true      rescue Errno::EHOSTUNREACH => ex diff --git a/lib/custodian/protocol-tests/https.rb b/lib/custodian/protocol-tests/https.rb index 6c4a53a..0935ebb 100755 --- a/lib/custodian/protocol-tests/https.rb +++ b/lib/custodian/protocol-tests/https.rb @@ -129,8 +129,16 @@ class HTTPSTest          response = http.start { http.get("#{url.path}?#{url.query}") }        end -      @status = response.code.to_i -      @body   =  response.body +      case response +      when Net::HTTPRedirection +      then +        newURL = response['location'].match(/^http/)? +        response['Location']:uri_str+response['Location'] +        return( getURL(newURL) ) +      else +        @status = response.code.to_i +        @body   =  response.body +      end        return true      rescue Errno::EHOSTUNREACH => ex | 
