You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by mo...@apache.org on 2002/05/04 01:17:12 UTC
cvs commit: jakarta-commons/latka/src/java/org/apache/commons/latka/validators ResponseHeaderValidator.java
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: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>