From 5ca0eb3ce526fda368dc4b35e795cfc7b7658c80 Mon Sep 17 00:00:00 2001 From: Steve Kemp Date: Tue, 23 Apr 2013 10:23:17 +0100 Subject: Updated the parser to allow the test to specify whether HTTP-redirects are followed. Added test-cases to match. --- lib/custodian/protocoltest/http.rb | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) (limited to 'lib/custodian/protocoltest') diff --git a/lib/custodian/protocoltest/http.rb b/lib/custodian/protocoltest/http.rb index 11a16d5..0450753 100644 --- a/lib/custodian/protocoltest/http.rb +++ b/lib/custodian/protocoltest/http.rb @@ -58,6 +58,12 @@ module Custodian @host = @url + # + # Will we follow redirects? + # + @redirect = true + + # # Ensure we've got a HTTP/HTTPS url. # @@ -119,12 +125,17 @@ module Custodian @expected_content = nil end + # + # Do we follow redirects? + # + if ( line =~ /not following redirects?/i ) + @redirect = false + end end # - # Get the right type of this object, based on the - # URL + # Get the right type of this object, based on the URL # def get_type if ( @url =~ /^https:/ ) @@ -136,6 +147,15 @@ module Custodian end end + + # + # Do we follow redirects? + # + def follow_redirects? + @redirect + end + + # # Allow this test to be serialized. # @@ -167,8 +187,15 @@ module Custodian timeout( 20 ) do begin c = Curl::Easy.new(@url) - c.follow_location = true - c.max_redirects = 10 + + # + # Should we follow redirections? + # + if ( follow_redirects? ) + c.follow_location = true + c.max_redirects = 10 + end + c.ssl_verify_host = false c.ssl_verify_peer = false c.timeout = 20 -- cgit v1.2.1