morgand 02/05/03 16:17:12 Modified: latka/src/java/org/apache/commons/latka/validators ResponseHeaderValidator.java Log: multi-header fix Revision Changes Path 1.7 +25 -5 jakarta-commons/latka/src/java/org/apache/commons/latka/validators/Attic/ResponseHeaderValidator.java Index: ResponseHeaderValidator.java =================================================================== RCS file: /home/cvs/jakarta-commons/latka/src/java/org/apache/commons/latka/validators/Attic/ResponseHeaderValidator.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ResponseHeaderValidator.java 2 May 2002 22:25:44 -0000 1.6 +++ ResponseHeaderValidator.java 3 May 2002 23:17:12 -0000 1.7 @@ -59,14 +59,21 @@ package org.apache.commons.latka.validators; +import java.util.StringTokenizer; + import org.apache.commons.latka.Validator; import org.apache.commons.latka.ValidationException; import org.apache.commons.latka.http.Response; /** - * ResponseHeaderValidator validates response headers in an HTTP session. - * + * ResponseHeaderValidator validates response headers in + * an HTTP session. Setting just the header name tests + * for the existence of a header. If you set the + * headerValue and there is more than one header of that + * name, the validator matches on ANY header with that + * value. + * * @author Morgan Delagrange */ public class ResponseHeaderValidator extends BaseConditionalValidator { @@ -161,11 +168,24 @@ return true; } - if (!_actualValue.equals(_headerValue)) { - return false; + // check the entire value against the actual value + if (_actualValue.equals(_headerValue)) { + return true; + } + + // if it does not match, see if the header has multiple values + if (_actualValue.indexOf(",") != -1) { + StringTokenizer tokenizer = new StringTokenizer(_actualValue,","); + while (tokenizer.hasMoreTokens()) { + String token = tokenizer.nextToken().trim(); + if (token.equals(_headerValue)) { + return true; + } + } + } - return true; + return false; } public String generateBareExceptionMessage() {
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>