[Httpunit-commit] CVS: httpunit/src/com/meterware/pseudoserver PseudoServer.java,1.2,1.3 WebResource
Brought to you by:
russgold
|
From: Russell G. <rus...@us...> - 2002-11-13 14:01:26
|
Update of /cvsroot/httpunit/httpunit/src/com/meterware/pseudoserver
In directory usw-pr-cvs1:/tmp/cvs-serv19457/src/com/meterware/pseudoserver
Modified Files:
PseudoServer.java WebResource.java
Log Message:
Handle unknown charsets reported by server
Index: PseudoServer.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/pseudoserver/PseudoServer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- PseudoServer.java 15 Aug 2002 00:06:32 -0000 1.2
+++ PseudoServer.java 13 Nov 2002 14:01:23 -0000 1.3
@@ -208,7 +208,6 @@
if (resource.getResponseCode() != HttpURLConnection.HTTP_OK) {
response.setResponse( resource.getResponseCode(), "" );
}
- response.addHeader( "Content-type: " + resource.getContentType() + resource.getCharacterSetParameter() );
String[] headers = resource.getHeaders();
for (int i = 0; i < headers.length; i++) {
response.addHeader( headers[i] );
Index: WebResource.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/pseudoserver/WebResource.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- WebResource.java 24 Jul 2002 17:28:56 -0000 1.1
+++ WebResource.java 13 Nov 2002 14:01:23 -0000 1.2
@@ -54,6 +54,7 @@
public void addHeader( String header ) {
_headers.addElement( header );
+ if (header.toLowerCase().startsWith( "content-type" )) _hasExplicitContentTypeHeader = true;
}
@@ -87,8 +88,10 @@
String[] getHeaders() {
- String[] headers = new String[ _headers.size() ];
- _headers.copyInto( headers );
+ final Vector effectiveHeaders = (Vector) _headers.clone();
+ if (!_hasExplicitContentTypeHeader) effectiveHeaders.add( getContentTypeHeader() );
+ String[] headers = new String[ effectiveHeaders.size() ];
+ effectiveHeaders.copyInto( headers );
return headers;
}
@@ -102,8 +105,8 @@
}
- String getContentType() {
- return _contentType;
+ private String getContentTypeHeader() {
+ return "Content-type: " + _contentType + getCharacterSetParameter();
}
@@ -147,6 +150,7 @@
private boolean _sendCharacterSet;
private String _contentType = DEFAULT_CONTENT_TYPE;
private String _characterSet = DEFAULT_CHARACTER_SET;
+ private boolean _hasExplicitContentTypeHeader;
private Vector _headers = new Vector();
}
|