sebb 2004/02/22 06:37:51
Modified: src/protocol/http/org/apache/jmeter/protocol/http/sampler
HTTPSampler.java
Log:
Extract charset from Content-Type and store in dataEncoding
Revision Changes Path
1.86 +26 -13
jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
Index: HTTPSampler.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -r1.85 -r1.86
--- HTTPSampler.java 10 Feb 2004 23:20:31 -0000 1.85
+++ HTTPSampler.java 22 Feb 2004 14:37:51 -0000 1.86
@@ -809,8 +809,7 @@
boolean logError=false; // Should we log the error?
try
{
- if (conn.getContentEncoding() != null
- && conn.getContentEncoding().equals("gzip"))
+ if ("gzip".equals(conn.getContentEncoding()))// works OK even if CE is
null
{
in=
new BufferedInputStream(
@@ -1086,15 +1085,29 @@
res.setResponseMessage(conn.getResponseMessage());
- String ct= conn.getHeaderField("Content-type");
- res.setContentType(ct);
- if (ct != null && ct.startsWith("image/"))
- {
- res.setDataType(HTTPSampleResult.BINARY);
- }
- else
- {
- res.setDataType(HTTPSampleResult.TEXT);
+ String ct= conn.getContentType();//getHeaderField("Content-type");
+ res.setContentType(ct);// e.g. text/html; charset=ISO-8859-1
+ if (ct != null)
+ {
+ // Extract charset and store as DataEncoding
+ // TODO do we need process http-equiv META tags, e.g.:
+ // <META http-equiv="content-type" content="text/html; charset=foobar">
+ // or can we leave that to the renderer ?
+ String de=ct.toLowerCase();
+ final String cs="charset=";
+ int cset= de.indexOf(cs);
+ if (cset >= 0)
+ {
+ res.setDataEncoding(de.substring(cset+cs.length()));
+ }
+ if (ct.startsWith("image/"))
+ {
+ res.setDataType(HTTPSampleResult.BINARY);
+ }
+ else
+ {
+ res.setDataType(HTTPSampleResult.TEXT);
+ }
}
res.setResponseHeaders(getResponseHeaders(conn));
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]