[Httpunit-commit] CVS: httpunit/src/com/meterware/httpunit WebResponse.java,1.114,1.115
Brought to you by:
russgold
|
From: Russell G. <rus...@us...> - 2003-04-01 12:55:32
|
Update of /cvsroot/httpunit/httpunit/src/com/meterware/httpunit
In directory sc8-pr-cvs1:/tmp/cvs-serv22765/src/com/meterware/httpunit
Modified Files:
WebResponse.java
Log Message:
Fix handling of refresh header
Index: WebResponse.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/httpunit/WebResponse.java,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -r1.114 -r1.115
--- WebResponse.java 19 Mar 2003 19:05:40 -0000 1.114
+++ WebResponse.java 1 Apr 2003 12:55:24 -0000 1.115
@@ -31,6 +31,7 @@
import java.net.MalformedURLException;
import java.util.Hashtable;
import java.util.Vector;
+import java.util.StringTokenizer;
import java.util.zip.GZIPInputStream;
import org.w3c.dom.Document;
@@ -886,15 +887,21 @@
String refreshHeader = _refreshHeader != null ? _refreshHeader : getHeaderField( "Refresh" );
if (refreshHeader == null) return;
- int splitIndex = refreshHeader.indexOf( ';' );
- if (splitIndex < 0) splitIndex = 0;
- try {
- _refreshDelay = Integer.parseInt( refreshHeader.substring( 0, splitIndex ) );
- _refreshRequest = new GetMethodWebRequest( _pageURL, getRefreshURL( refreshHeader.substring( splitIndex+1 ) ), _frameName );
- } catch (NumberFormatException e) {
- _refreshDelay = 0;
- System.out.println( "Unable to interpret refresh tag: \"" + refreshHeader + '"' );
+ StringTokenizer st = new StringTokenizer( refreshHeader, ";" );
+ while (st.hasMoreTokens()) {
+ String token = st.nextToken();
+ if (token.length() == 0) continue;
+ try {
+ if (Character.isDigit( token.charAt(0) )) {
+ _refreshDelay = Integer.parseInt( token );
+ } else {
+ _refreshRequest = new GetMethodWebRequest( _pageURL, getRefreshURL( token ), _frameName );
+ }
+ } catch (NumberFormatException e) {
+ System.out.println( "Unable to interpret refresh tag: \"" + refreshHeader + '"' );
+ }
}
+ if (_refreshRequest == null) _refreshRequest = new GetMethodWebRequest( _pageURL, _pageURL.toString(), _frameName );
}
|