[Httpunit-commit] CVS: httpunit/src/com/meterware/httpunit WebClient.java,1.5,1.6 WebConversation.ja
Brought to you by:
russgold
|
From: Russell G. <rus...@us...> - 2001-06-06 13:25:08
|
Update of /cvsroot/httpunit/httpunit/src/com/meterware/httpunit
In directory usw-pr-cvs1:/tmp/cvs-serv1930/src/com/meterware/httpunit
Modified Files:
WebClient.java WebConversation.java WebResponse.java
Log Message:
Added servlet invocation context
Index: WebClient.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/httpunit/WebClient.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- WebClient.java 2001/04/05 22:16:07 1.5
+++ WebClient.java 2001/06/06 13:25:04 1.6
@@ -63,18 +63,8 @@
if (request.getURLString().startsWith( "about:" )) return WebResponse.BLANK_RESPONSE;
WebResponse response = newResponse( request );
-
- validateHeaders( response );
- updateCookies( response );
- if (response.getHeaderField( "Location" ) != null) {
- delay( HttpUnitOptions.getRedirectDelay() );
- return getResponse( new RedirectWebRequest( request,
- response.getHeaderField( "Location" ),
- request.getTarget() ) );
- } else {
- updateFrames( response );
- return response;
- }
+ updateClient( response );
+ return getFrameContents( request.getTarget() );
}
@@ -220,6 +210,23 @@
}
+ /**
+ * Updates this web client based on a received response. This includes updating
+ * cookies and frames.
+ **/
+ final
+ protected void updateClient( WebResponse response ) throws MalformedURLException, IOException, SAXException {
+ validateHeaders( response );
+ updateCookies( response );
+ if (response.getHeaderField( "Location" ) == null) {
+ updateFrames( response );
+ } else {
+ delay( HttpUnitOptions.getRedirectDelay() );
+ getResponse( new RedirectWebRequest( response ) );
+ }
+ }
+
+
//------------------------------------------ private members -------------------------------------
@@ -279,9 +286,10 @@
}
private void updateFrames( WebResponse response ) throws MalformedURLException, IOException, SAXException {
+ removeSubFrames( response.getTarget() );
+ _frameContents.put( response.getTarget(), response );
+
if (response.isHTML()) {
- removeSubFrames( response.getTarget() );
- _frameContents.put( response.getTarget(), response );
createSubFrames( response.getTarget(), response.getFrameNames() );
WebRequest[] requests = response.getFrameRequests();
for (int i = 0; i < requests.length; i++) getResponse( requests[i] );
@@ -316,8 +324,8 @@
class RedirectWebRequest extends WebRequest {
- RedirectWebRequest( WebRequest baseRequest, String relativeURL, String target ) throws MalformedURLException {
- super( baseRequest, relativeURL, target );
+ RedirectWebRequest( WebResponse response ) throws MalformedURLException {
+ super( response.getURL(), response.getHeaderField( "Location" ), response.getTarget() );
}
Index: WebConversation.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/httpunit/WebConversation.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- WebConversation.java 2001/04/13 21:23:46 1.21
+++ WebConversation.java 2001/06/06 13:25:04 1.22
@@ -55,7 +55,7 @@
**/
protected WebResponse newResponse( WebRequest request ) throws MalformedURLException, IOException {
URLConnection connection = openConnection( request.getURL() );
- sendHeaders( connection, request.getHeaders() );
+ sendHeaders( connection, request.getHeaders() );
if (HttpUnitOptions.isLoggingHttpHeaders()) {
for (Enumeration e = getHeaderFields().keys(); e.hasMoreElements(); ) {
String key = (String) e.nextElement();
Index: WebResponse.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/httpunit/WebResponse.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- WebResponse.java 2001/05/21 21:04:29 1.33
+++ WebResponse.java 2001/06/06 13:25:04 1.34
@@ -76,9 +76,8 @@
/**
* Returns the target of the page.
- * @exception SAXException thrown if there is an error parsing this response
**/
- public String getTarget() throws SAXException {
+ public String getTarget() {
return _target;
}
@@ -389,8 +388,8 @@
if (i > -1) {
String name = token.substring(0, i).trim();
String value = stripQuote( token.substring( i+1, token.length() ).trim() );
- _newCookies.put( name, value );
- }
+ _newCookies.put( name, value );
+ }
}
@@ -400,7 +399,7 @@
return value.substring(1,value.length()-1);
}
return value;
- }
+ }
private void readContentTypeHeader() {
|