[Checkins] SVN: zope.testbrowser/branches/rossp-validator/src/zope/testbrowser/validate.py Make sure the validation only happens only on successful, non-redirecting responses
Ross Patterson
me at rpatterson.net
Sat Feb 20 07:44:21 EST 2010
Log message for revision 109175:
Make sure the validation only happens only on successful, non-redirecting responses
Changed:
U zope.testbrowser/branches/rossp-validator/src/zope/testbrowser/validate.py
-=-
Modified: zope.testbrowser/branches/rossp-validator/src/zope/testbrowser/validate.py
===================================================================
--- zope.testbrowser/branches/rossp-validator/src/zope/testbrowser/validate.py 2010-02-20 12:44:17 UTC (rev 109174)
+++ zope.testbrowser/branches/rossp-validator/src/zope/testbrowser/validate.py 2010-02-20 12:44:20 UTC (rev 109175)
@@ -6,20 +6,20 @@
class ValidatingHandler(urllib2.BaseHandler):
def http_response(self, request, response):
- source = response.read()
- response.seek(0)
- check = urllib2.urlopen(
- os.environ.get('ZOPE_TESTBROWSER_VALIDATE',
- 'http://validator.w3.org/check'),
- urllib.urlencode(dict(fragment=source)))
+ if (200 <= response.code < 300):
+ source = response.read()
+ response.seek(0)
+ check = urllib2.urlopen(
+ os.environ.get('ZOPE_TESTBROWSER_VALIDATE',
+ 'http://validator.w3.org/check'),
+ urllib.urlencode(dict(fragment=source)))
+
+ if check.info().get(
+ 'X-W3C-Validator-Status').lower() != 'valid':
+ hdrs = check.info()
+ hdrs['X-W3C-Validator-Source'] = source
+ return self.parent.error(
+ 'http', request, check, '500', 'Invalid HTML', hdrs)
- if check.info().get(
- 'X-W3C-Validator-Status').lower() != 'valid':
- hdrs = check.info()
- hdrs['X-W3C-Validator-Source'] = source
- return self.parent.error(
- 'http', request, check, '500', 'Invalid HTML', hdrs)
- return check
-
return response
More information about the checkins
mailing list