diff options
author | Steve Kemp <steve@steve.org.uk> | 2013-04-23 10:23:17 +0100 |
---|---|---|
committer | Steve Kemp <steve@steve.org.uk> | 2013-04-23 10:23:17 +0100 |
commit | 0e2880e32d622a7a44350bac175d156535338bd6 (patch) | |
tree | 0f2c0110ce4f8df475c35938881596bd77f41f7c /lib | |
parent | 5dc1462a4ce536cacf9fc380b1022d1c48d12bc2 (diff) |
Updated the parser to allow the test to specify whether HTTP-redirects
are followed.
Added test-cases to match.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/custodian/protocoltest/http.rb | 35 |
1 files changed, 31 insertions, 4 deletions
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 @@ -59,6 +59,12 @@ module Custodian # + # Will we follow redirects? + # + @redirect = true + + + # # Ensure we've got a HTTP/HTTPS url. # if ( @url !~ /^https?:/ ) @@ -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 |