You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by Felix Schumacher <fe...@internetallee.de> on 2016/11/16 08:02:35 UTC

Re: svn commit: r1769932 - in /jmeter/trunk: src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java xdocs/changes.xml


Am 16. November 2016 08:28:45 MEZ, schrieb pmouawad@apache.org:
>Author: pmouawad
>Date: Wed Nov 16 07:28:45 2016
>New Revision: 1769932
>
>URL: http://svn.apache.org/viewvc?rev=1769932&view=rev
>Log:
>Bug 60376 - Http Test Script Recorder : If deflate is used by server
>then recording may break application
>Bugzilla Id: 60376
>
>Modified:
>jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java
>jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java
>    jmeter/trunk/xdocs/changes.xml
>
>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=1769932&r1=1769931&r2=1769932&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
>Wed Nov 16 07:28:45 2016
>@@ -530,8 +530,11 @@ public class Proxy extends Thread {
>                     continue;
>                 }
>   if (HTTPConstants.HEADER_CONTENT_ENCODING.equalsIgnoreCase(parts[0])
>-                    &&
>-                   
>HTTPConstants.ENCODING_GZIP.equalsIgnoreCase(parts[1])
>+                    &&
>(HTTPConstants.ENCODING_GZIP.equalsIgnoreCase(parts[1])
>+                            ||
>HTTPConstants.ENCODING_DEFLATE.equalsIgnoreCase(parts[1])
>+                            // TODO BROTLI not supported by HC4, so no
>uncompression would occur, add it once available
>+                            // ||
>HTTPConstants.ENCODING_BROTLI.equalsIgnoreCase(parts[1]) 
>+                            )

I would remove the to-do and leave brotli in. It is last in the comparison list and thus should be compared rather seldom. On the other hand it is very probable that we forget to re-add it one hc4 starts supporting it.

Felix

>                 ){
>      headerLines[i] = null; // We don't want this passed on to browser
>                     fixContentLength = true;
>
>Modified:
>jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java
>URL:
>http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java?rev=1769932&r1=1769931&r2=1769932&view=diff
>==============================================================================
>---
>jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java
>(original)
>+++
>jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java
>Wed Nov 16 07:28:45 2016
>@@ -64,7 +64,11 @@ public interface HTTPConstantsInterface
>    String HEADER_CONTENT_ENCODING = "content-encoding"; // $NON-NLS-1$
>     String HTTP_1_1 = "HTTP/1.1"; // $NON-NLS-1$
>     String HEADER_SET_COOKIE = "set-cookie"; // $NON-NLS-1$
>+    // Brotli compression not supported yet by HC4 4.5.2 , but to be
>added
>+    String ENCODING_BROTLI = "br"; // $NON-NLS-1$
>+    String ENCODING_DEFLATE = "deflate"; // $NON-NLS-1$
>     String ENCODING_GZIP = "gzip"; // $NON-NLS-1$
>+
>String HEADER_CONTENT_DISPOSITION = "Content-Disposition"; //
>$NON-NLS-1$
>     String HEADER_CONTENT_TYPE = "Content-Type"; // $NON-NLS-1$
>     String HEADER_CONTENT_LENGTH = "Content-Length"; // $NON-NLS-1$
>
>Modified: jmeter/trunk/xdocs/changes.xml
>URL:
>http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1769932&r1=1769931&r2=1769932&view=diff
>==============================================================================
>--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
>+++ jmeter/trunk/xdocs/changes.xml [utf-8] Wed Nov 16 07:28:45 2016
>@@ -303,6 +303,7 @@ This allows you to update Think Times fr
><li><bug>58888</bug>HTTP(S) Test Script Recorder (ProxyControl) does
>not add TestElement's returned by
><code>SamplerCreator#createChildren()</code></li>
><li><bug>59902</bug>Https handshake failure when setting
><code>httpclient.socket.https.cps</code> property</li>
><li><bug>60084</bug>JMeter 3.0 embedded resource URL is silently
>encoded</li>
>+    <li><bug>60376</bug>Http Test Script Recorder : If deflate is used
>by server then recording may break application</li>
>  </ul>
> 
> <h3>Other Samplers</h3>


Re: svn commit: r1769932 - in /jmeter/trunk: src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java xdocs/changes.xml

Posted by Felix Schumacher <fe...@internetallee.de>.

Am 16. November 2016 09:10:39 MEZ, schrieb Philippe Mouawad <ph...@gmail.com>:
>On Wed, Nov 16, 2016 at 9:02 AM, Felix Schumacher <felix.schumacher@
>internetallee.de> wrote:
>
>>
>>
>> Am 16. November 2016 08:28:45 MEZ, schrieb pmouawad@apache.org:
>> >Author: pmouawad
>> >Date: Wed Nov 16 07:28:45 2016
>> >New Revision: 1769932
>> >
>> >URL: http://svn.apache.org/viewvc?rev=1769932&view=rev
>> >Log:
>> >Bug 60376 - Http Test Script Recorder : If deflate is used by server
>> >then recording may break application
>> >Bugzilla Id: 60376
>> >
>> >Modified:
>> >jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/
>> http/proxy/Proxy.java
>> >jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/
>> http/util/HTTPConstantsInterface.java
>> >    jmeter/trunk/xdocs/changes.xml
>> >
>> >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=
>> 1769932&r1=1769931&r2=1769932&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
>> >Wed Nov 16 07:28:45 2016
>> >@@ -530,8 +530,11 @@ public class Proxy extends Thread {
>> >                     continue;
>> >                 }
>> >   if
>(HTTPConstants.HEADER_CONTENT_ENCODING.equalsIgnoreCase(parts[0])
>> >-                    &&
>> >-
>> >HTTPConstants.ENCODING_GZIP.equalsIgnoreCase(parts[1])
>> >+                    &&
>> >(HTTPConstants.ENCODING_GZIP.equalsIgnoreCase(parts[1])
>> >+                            ||
>> >HTTPConstants.ENCODING_DEFLATE.equalsIgnoreCase(parts[1])
>> >+                            // TODO BROTLI not supported by HC4, so
>no
>> >uncompression would occur, add it once available
>> >+                            // ||
>> >HTTPConstants.ENCODING_BROTLI.equalsIgnoreCase(parts[1])
>> >+                            )
>>
>> I would remove the to-do and leave brotli in. It is last in the
>comparison
>> list and thus should be compared rather seldom. On the other hand it
>is
>> very probable that we forget to re-add it one hc4 starts supporting
>it.
>>
>Hi, If we keep it it means we remove header while most probably we
>didn't
>modify it since we don't uncompress it (HC4 does not handle BR), so
>should
>we really remove it, if you are sure, you can change code, I cannot do
>it
>today.

Right, missed that.

Felix

>Thanks
>
>>
>> Felix
>>
>> >                 ){
>> >      headerLines[i] = null; // We don't want this passed on to
>browser
>> >                     fixContentLength = true;
>> >
>> >Modified:
>> >jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/
>> http/util/HTTPConstantsInterface.java
>> >URL:
>> >http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http
>> /org/apache/jmeter/protocol/http/util/HTTPConstantsInterfa
>> ce.java?rev=1769932&r1=1769931&r2=1769932&view=diff
>> >===========================================================
>> ===================
>> >---
>> >jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/
>> http/util/HTTPConstantsInterface.java
>> >(original)
>> >+++
>> >jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/
>> http/util/HTTPConstantsInterface.java
>> >Wed Nov 16 07:28:45 2016
>> >@@ -64,7 +64,11 @@ public interface HTTPConstantsInterface
>> >    String HEADER_CONTENT_ENCODING = "content-encoding"; //
>$NON-NLS-1$
>> >     String HTTP_1_1 = "HTTP/1.1"; // $NON-NLS-1$
>> >     String HEADER_SET_COOKIE = "set-cookie"; // $NON-NLS-1$
>> >+    // Brotli compression not supported yet by HC4 4.5.2 , but to
>be
>> >added
>> >+    String ENCODING_BROTLI = "br"; // $NON-NLS-1$
>> >+    String ENCODING_DEFLATE = "deflate"; // $NON-NLS-1$
>> >     String ENCODING_GZIP = "gzip"; // $NON-NLS-1$
>> >+
>> >String HEADER_CONTENT_DISPOSITION = "Content-Disposition"; //
>> >$NON-NLS-1$
>> >     String HEADER_CONTENT_TYPE = "Content-Type"; // $NON-NLS-1$
>> >     String HEADER_CONTENT_LENGTH = "Content-Length"; // $NON-NLS-1$
>> >
>> >Modified: jmeter/trunk/xdocs/changes.xml
>> >URL:
>> >http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml
>> ?rev=1769932&r1=1769931&r2=1769932&view=diff
>> >===========================================================
>> ===================
>> >--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
>> >+++ jmeter/trunk/xdocs/changes.xml [utf-8] Wed Nov 16 07:28:45 2016
>> >@@ -303,6 +303,7 @@ This allows you to update Think Times fr
>> ><li><bug>58888</bug>HTTP(S) Test Script Recorder (ProxyControl) does
>> >not add TestElement's returned by
>> ><code>SamplerCreator#createChildren()</code></li>
>> ><li><bug>59902</bug>Https handshake failure when setting
>> ><code>httpclient.socket.https.cps</code> property</li>
>> ><li><bug>60084</bug>JMeter 3.0 embedded resource URL is silently
>> >encoded</li>
>> >+    <li><bug>60376</bug>Http Test Script Recorder : If deflate is
>used
>> >by server then recording may break application</li>
>> >  </ul>
>> >
>> > <h3>Other Samplers</h3>
>>
>>


Re: svn commit: r1769932 - in /jmeter/trunk: src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java xdocs/changes.xml

Posted by Philippe Mouawad <ph...@gmail.com>.
On Wed, Nov 16, 2016 at 9:02 AM, Felix Schumacher <felix.schumacher@
internetallee.de> wrote:

>
>
> Am 16. November 2016 08:28:45 MEZ, schrieb pmouawad@apache.org:
> >Author: pmouawad
> >Date: Wed Nov 16 07:28:45 2016
> >New Revision: 1769932
> >
> >URL: http://svn.apache.org/viewvc?rev=1769932&view=rev
> >Log:
> >Bug 60376 - Http Test Script Recorder : If deflate is used by server
> >then recording may break application
> >Bugzilla Id: 60376
> >
> >Modified:
> >jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/
> http/proxy/Proxy.java
> >jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/
> http/util/HTTPConstantsInterface.java
> >    jmeter/trunk/xdocs/changes.xml
> >
> >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=
> 1769932&r1=1769931&r2=1769932&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
> >Wed Nov 16 07:28:45 2016
> >@@ -530,8 +530,11 @@ public class Proxy extends Thread {
> >                     continue;
> >                 }
> >   if (HTTPConstants.HEADER_CONTENT_ENCODING.equalsIgnoreCase(parts[0])
> >-                    &&
> >-
> >HTTPConstants.ENCODING_GZIP.equalsIgnoreCase(parts[1])
> >+                    &&
> >(HTTPConstants.ENCODING_GZIP.equalsIgnoreCase(parts[1])
> >+                            ||
> >HTTPConstants.ENCODING_DEFLATE.equalsIgnoreCase(parts[1])
> >+                            // TODO BROTLI not supported by HC4, so no
> >uncompression would occur, add it once available
> >+                            // ||
> >HTTPConstants.ENCODING_BROTLI.equalsIgnoreCase(parts[1])
> >+                            )
>
> I would remove the to-do and leave brotli in. It is last in the comparison
> list and thus should be compared rather seldom. On the other hand it is
> very probable that we forget to re-add it one hc4 starts supporting it.
>
Hi, If we keep it it means we remove header while most probably we didn't
modify it since we don't uncompress it (HC4 does not handle BR), so should
we really remove it, if you are sure, you can change code, I cannot do it
today.
Thanks

>
> Felix
>
> >                 ){
> >      headerLines[i] = null; // We don't want this passed on to browser
> >                     fixContentLength = true;
> >
> >Modified:
> >jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/
> http/util/HTTPConstantsInterface.java
> >URL:
> >http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http
> /org/apache/jmeter/protocol/http/util/HTTPConstantsInterfa
> ce.java?rev=1769932&r1=1769931&r2=1769932&view=diff
> >===========================================================
> ===================
> >---
> >jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/
> http/util/HTTPConstantsInterface.java
> >(original)
> >+++
> >jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/
> http/util/HTTPConstantsInterface.java
> >Wed Nov 16 07:28:45 2016
> >@@ -64,7 +64,11 @@ public interface HTTPConstantsInterface
> >    String HEADER_CONTENT_ENCODING = "content-encoding"; // $NON-NLS-1$
> >     String HTTP_1_1 = "HTTP/1.1"; // $NON-NLS-1$
> >     String HEADER_SET_COOKIE = "set-cookie"; // $NON-NLS-1$
> >+    // Brotli compression not supported yet by HC4 4.5.2 , but to be
> >added
> >+    String ENCODING_BROTLI = "br"; // $NON-NLS-1$
> >+    String ENCODING_DEFLATE = "deflate"; // $NON-NLS-1$
> >     String ENCODING_GZIP = "gzip"; // $NON-NLS-1$
> >+
> >String HEADER_CONTENT_DISPOSITION = "Content-Disposition"; //
> >$NON-NLS-1$
> >     String HEADER_CONTENT_TYPE = "Content-Type"; // $NON-NLS-1$
> >     String HEADER_CONTENT_LENGTH = "Content-Length"; // $NON-NLS-1$
> >
> >Modified: jmeter/trunk/xdocs/changes.xml
> >URL:
> >http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml
> ?rev=1769932&r1=1769931&r2=1769932&view=diff
> >===========================================================
> ===================
> >--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
> >+++ jmeter/trunk/xdocs/changes.xml [utf-8] Wed Nov 16 07:28:45 2016
> >@@ -303,6 +303,7 @@ This allows you to update Think Times fr
> ><li><bug>58888</bug>HTTP(S) Test Script Recorder (ProxyControl) does
> >not add TestElement's returned by
> ><code>SamplerCreator#createChildren()</code></li>
> ><li><bug>59902</bug>Https handshake failure when setting
> ><code>httpclient.socket.https.cps</code> property</li>
> ><li><bug>60084</bug>JMeter 3.0 embedded resource URL is silently
> >encoded</li>
> >+    <li><bug>60376</bug>Http Test Script Recorder : If deflate is used
> >by server then recording may break application</li>
> >  </ul>
> >
> > <h3>Other Samplers</h3>
>
>


-- 
Cordialement.
Philippe Mouawad.