You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2019/05/21 14:24:52 UTC
svn commit: r1859651 - in /jmeter/trunk/src:
core/org/apache/jmeter/samplers/SampleResult.java
protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java
Author: pmouawad
Date: Tue May 21 14:24:52 2019
New Revision: 1859651
URL: http://svn.apache.org/viewvc?rev=1859651&view=rev
Log:
Fix TODO: Use more complete detection of binary content type
Modified:
jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java
Modified: jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java?rev=1859651&r1=1859650&r2=1859651&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java Tue May 21 14:24:52 2019
@@ -901,7 +901,7 @@ public class SampleResult implements Ser
* @param ct content type
* @return true if content-type is of type binary.
*/
- private static boolean isBinaryType(String ct){
+ public static boolean isBinaryType(String ct){
for (String entry : NON_BINARY_TYPES){
if (ct.startsWith(entry)){
return false;
Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java?rev=1859651&r1=1859650&r2=1859651&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java Tue May 21 14:24:52 2019
@@ -97,9 +97,6 @@ public class Proxy extends Thread {
log.info("Proxy will remove the headers: {}", removeList);
}
- // Use with SSL connection
- private OutputStream outStreamClient = null;
-
/** Socket to client. */
private Socket clientSocket = null;
@@ -177,9 +174,10 @@ public class Proxy extends Thread {
throw new JMeterException(); // hack to skip processing
}
if (isDebug) {
- log.debug("{} Initial request: {}", port, new String(ba));
+ log.debug("{} Initial request: {}", port, new String(ba)); // NOSONAR False positive
}
- outStreamClient = clientSocket.getOutputStream();
+ // Use with SSL connection
+ OutputStream outStreamClient = clientSocket.getOutputStream();
if ((request.getMethod().startsWith(HTTPConstants.CONNECT)) && (outStreamClient != null)) {
log.debug("{} Method CONNECT => SSL", port);
@@ -210,7 +208,7 @@ public class Proxy extends Thread {
throw new JMeterException(); // hack to skip processing
}
if (isDebug) {
- log.debug("{} Reparse: {}", port, new String(ba));
+ log.debug("{} Reparse: {}", port, new String(ba)); // NOSONAR False positive
}
if (ba.length == 0) {
log.warn("{} Empty response to http over SSL. Probably waiting for user to authorize the certificate for {}",
@@ -596,14 +594,19 @@ public class Proxy extends Thread {
*/
private void addFormEncodings(SampleResult result, String pageEncoding) {
FormCharSetFinder finder = new FormCharSetFinder();
- if (!result.getContentType().startsWith("text/")){ // TODO perhaps make more specific than this?
+ if (SampleResult.isBinaryType(result.getContentType())) {
+ if (log.isDebugEnabled()) {
+ log.debug("Will not guess encoding of url:{} as it's binary", result.getUrlAsString());
+ }
return; // no point parsing anything else, e.g. GIF ...
}
try {
finder.addFormActionsAndCharSet(result.getResponseDataAsString(), formEncodings, pageEncoding);
}
catch (HTMLParseException parseException) {
- log.debug("{} Unable to parse response, could not find any form character set encodings", port);
+ if (log.isDebugEnabled()) {
+ log.debug("{} Unable to parse response, could not find any form character set encodings for url:{}", port, result.getUrlAsString());
+ }
}
}