You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by se...@apache.org on 2014/07/31 15:28:21 UTC

svn commit: r1614883 - in /jmeter/trunk: src/components/org/apache/jmeter/extractor/ src/components/org/apache/jmeter/extractor/gui/ src/core/org/apache/jmeter/resources/ xdocs/ xdocs/usermanual/

Author: sebb
Date: Thu Jul 31 13:28:20 2014
New Revision: 1614883

URL: http://svn.apache.org/r1614883
Log:
Allow access to Request Headers in Regex Extractor
Bugzilla Id: 52061

Modified:
    jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java
    jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/usermanual/component_reference.xml

Modified: jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java?rev=1614883&r1=1614882&r2=1614883&view=diff
==============================================================================
--- jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java (original)
+++ jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java Thu Jul 31 13:28:20 2014
@@ -62,6 +62,7 @@ public class RegexExtractor extends Abst
      *  Do not change these values!
     */
     public static final String USE_HDRS = "true"; // $NON-NLS-1$
+    public static final String USE_REQUEST_HDRS = "request_headers"; // $NON-NLS-1$
     public static final String USE_BODY = "false"; // $NON-NLS-1$
     public static final String USE_BODY_UNESCAPED = "unescaped"; // $NON-NLS-1$
     public static final String USE_BODY_AS_DOCUMENT = "as_document"; // $NON-NLS-1$
@@ -172,6 +173,7 @@ public class RegexExtractor extends Abst
     private String getInputString(SampleResult result) {
         String inputString = useUrl() ? result.getUrlAsString() // Bug 39707
                 : useHeaders() ? result.getResponseHeaders()
+                : useRequestHeaders() ? result.getRequestHeaders()
                 : useCode() ? result.getResponseCode() // Bug 43451
                 : useMessage() ? result.getResponseMessage() // Bug 43451
                 : useUnescapedBody() ? StringEscapeUtils.unescapeHtml4(result.getResponseDataAsString())
@@ -435,6 +437,10 @@ public class RegexExtractor extends Abst
         return USE_HDRS.equalsIgnoreCase( getPropertyAsString(MATCH_AGAINST));
     }
 
+    public boolean useRequestHeaders() {
+        return USE_REQUEST_HDRS.equalsIgnoreCase(getPropertyAsString(MATCH_AGAINST));
+    }
+
     // Allow for property not yet being set (probably only applies to Test cases)
     public boolean useBody() {
         String prop = getPropertyAsString(MATCH_AGAINST);

Modified: jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java?rev=1614883&r1=1614882&r2=1614883&view=diff
==============================================================================
--- jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java (original)
+++ jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java Thu Jul 31 13:28:20 2014
@@ -61,6 +61,8 @@ public class RegexExtractorGui extends A
 
     private JRadioButton useHeaders;
 
+    private JRadioButton useRequestHeaders;
+
     private JRadioButton useURL;
 
     private JRadioButton useCode;
@@ -86,6 +88,7 @@ public class RegexExtractorGui extends A
             RegexExtractor re = (RegexExtractor) el;
             showScopeSettings(re, true);
             useHeaders.setSelected(re.useHeaders());
+            useRequestHeaders.setSelected(re.useRequestHeaders());
             useBody.setSelected(re.useBody());
             useUnescapedBody.setSelected(re.useUnescapedBody());
             useBodyAsDocument.setSelected(re.useBodyAsDocument());
@@ -166,6 +169,7 @@ public class RegexExtractorGui extends A
         useUnescapedBody = new JRadioButton(JMeterUtils.getResString("regex_src_body_unescaped")); //$NON-NLS-1$
         useBodyAsDocument = new JRadioButton(JMeterUtils.getResString("regex_src_body_as_document")); //$NON-NLS-1$
         useHeaders = new JRadioButton(JMeterUtils.getResString("regex_src_hdrs")); //$NON-NLS-1$
+        useRequestHeaders = new JRadioButton(JMeterUtils.getResString("regex_src_hdrs_req")); //$NON-NLS-1$
         useURL = new JRadioButton(JMeterUtils.getResString("regex_src_url")); //$NON-NLS-1$
         useCode = new JRadioButton(JMeterUtils.getResString("assertion_code_resp")); //$NON-NLS-1$
         useMessage = new JRadioButton(JMeterUtils.getResString("assertion_message_resp")); //$NON-NLS-1$
@@ -175,6 +179,7 @@ public class RegexExtractorGui extends A
         group.add(useUnescapedBody);
         group.add(useBodyAsDocument);
         group.add(useHeaders);
+        group.add(useRequestHeaders);
         group.add(useURL);
         group.add(useCode);
         group.add(useMessage);
@@ -183,6 +188,7 @@ public class RegexExtractorGui extends A
         panel.add(useUnescapedBody);
         panel.add(useBodyAsDocument);
         panel.add(useHeaders);
+        panel.add(useRequestHeaders);
         panel.add(useURL);
         panel.add(useCode);
         panel.add(useMessage);
@@ -194,6 +200,7 @@ public class RegexExtractorGui extends A
         useUnescapedBody.setActionCommand(RegexExtractor.USE_BODY_UNESCAPED);
         useBodyAsDocument.setActionCommand(RegexExtractor.USE_BODY_AS_DOCUMENT);
         useHeaders.setActionCommand(RegexExtractor.USE_HDRS);
+        useRequestHeaders.setActionCommand(RegexExtractor.USE_REQUEST_HDRS);
         useURL.setActionCommand(RegexExtractor.USE_URL);
         useCode.setActionCommand(RegexExtractor.USE_CODE);
         useMessage.setActionCommand(RegexExtractor.USE_MESSAGE);

Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=1614883&r1=1614882&r2=1614883&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties Thu Jul 31 13:28:20 2014
@@ -776,11 +776,12 @@ regex_params_names_field=Parameter names
 regex_params_values_field=Parameter values regex group number
 regex_params_ref_name_field=Regular Expression Reference Name
 regex_params_title=RegEx User Parameters
-regex_source=Response Field to check
+regex_source=Field to check
 regex_src_body=Body
 regex_src_body_as_document=Body as a Document
 regex_src_body_unescaped=Body (unescaped)
-regex_src_hdrs=Headers
+regex_src_hdrs=Response Headers
+regex_src_hdrs_req=Request Headers
 regex_src_url=URL
 regexfunc_param_1=Regular expression used to search previous sample - or variable.
 regexfunc_param_2=Template for the replacement string, using groups from the regular expression.  Format is $[group]$.  Example $1$.

Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties?rev=1614883&r1=1614882&r2=1614883&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties Thu Jul 31 13:28:20 2014
@@ -773,7 +773,8 @@ regex_source=Port\u00E9e
 regex_src_body=Corps
 regex_src_body_as_document=Corps en tant que Document
 regex_src_body_unescaped=Corps (non \u00E9chapp\u00E9)
-regex_src_hdrs=Ent\u00EAtes
+regex_src_hdrs=Ent\u00EAtes (R\u00E9ponse)
+regex_src_hdrs_req=Ent\u00EAtes (Requ\u00EAte)
 regex_src_url=URL
 regexfunc_param_1=Expression r\u00E9guli\u00E8re utilis\u00E9e pour chercher les r\u00E9sultats de la requ\u00EAte pr\u00E9c\u00E9dente.
 regexfunc_param_2=Canevas pour la ch\u00EEne de caract\u00E8re de remplacement, utilisant des groupes d'expressions r\u00E9guli\u00E8res. Le format est  $[group]$.  Exemple $1$.

Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1614883&r1=1614882&r2=1614883&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml (original)
+++ jmeter/trunk/xdocs/changes.xml Thu Jul 31 13:28:20 2014
@@ -158,6 +158,7 @@ A workaround is to use a Java 7 update 4
 <li><bugzilla>56162</bugzilla> -  HTTP Cache Manager should not cache PUT/POST etc.</li>
 <li><bugzilla>56227</bugzilla> - AssertionGUI : NPE in assertion on mouse selection</li>
 <li><bugzilla>41319</bugzilla> - URLRewritingModifier : Allow Parameter value to be url encoded</li>
+<li><bugzilla>52061</bugzilla> - Allow access to Request Headers in Regex Extractor</li>
 </ul>
 
 <h3>Functions</h3>

Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1614883&r1=1614882&r2=1614883&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/component_reference.xml Thu Jul 31 13:28:20 2014
@@ -5235,8 +5235,8 @@ generate the template string, and store 
         For match number = 0 or negative, all qualifying samples will be processed.
         For match number > 0, matching will stop as soon as enough matches have been found.
         </property>
-        <property name="Response Field to check" required="Yes">
-        The following response fields can be checked:
+        <property name="Field to check" required="Yes">
+        The following fields can be checked:
         <ul>
         <li>Body - the body of the response, e.g. the content of a web-page (excluding headers)</li>
         <li>Body (unescaped) - the body of the response, with all Html escape codes replaced.
@@ -5245,9 +5245,10 @@ generate the template string, and store 
         <note>Note that this option highly impacts performances, so use it only when absolutely necessary and be aware of its impacts</note>
         </li>
         <li>Body as a Document - the extract text from various type of documents via Apache Tika (see <complink name="View Results Tree"/> Document view section).
-        <note>Note that Body as a Document option can impact performances, so ensure it is Ok for your test</note>
+        <note>Note that the Body as a Document option can impact performances, so ensure it is Ok for your test</note>
         </li>
-        <li>Headers - may not be present for non-HTTP samples</li>
+        <li>Request Headers - may not be present for non-HTTP samples</li>
+        <li>Response Headers - may not be present for non-HTTP samples</li>
         <li>URL</li>
         <li>Response Code - e.g. 200</li>
         <li>Response Message - e.g. OK</li>



Re: svn commit: r1614883 - in /jmeter/trunk: src/components/org/apache/jmeter/extractor/ src/components/org/apache/jmeter/extractor/gui/ src/core/org/apache/jmeter/resources/ xdocs/ xdocs/usermanual/

Posted by sebb <se...@gmail.com>.
Agreed; fixed

On 15 August 2014 13:57, Philippe Mouawad <ph...@gmail.com> wrote:
> Hello,
> Shouldn't this be an enhancement rather than bug fix ?
> Also note in changes.xml does not contain the usual "Contributed by ..."
>
> Regards
> Philippe
>
> On Thursday, July 31, 2014, <se...@apache.org> wrote:
>
>> Author: sebb
>> Date: Thu Jul 31 13:28:20 2014
>> New Revision: 1614883
>>
>> URL: http://svn.apache.org/r1614883
>> Log:
>> Allow access to Request Headers in Regex Extractor
>> Bugzilla Id: 52061
>>
>> Modified:
>>
>> jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java
>>
>> jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
>>     jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
>>
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
>>     jmeter/trunk/xdocs/changes.xml
>>     jmeter/trunk/xdocs/usermanual/component_reference.xml
>>
>> Modified:
>> jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java?rev=1614883&r1=1614882&r2=1614883&view=diff
>>
>> ==============================================================================
>> ---
>> jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java
>> (original)
>> +++
>> jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java
>> Thu Jul 31 13:28:20 2014
>> @@ -62,6 +62,7 @@ public class RegexExtractor extends Abst
>>       *  Do not change these values!
>>      */
>>      public static final String USE_HDRS = "true"; // $NON-NLS-1$
>> +    public static final String USE_REQUEST_HDRS = "request_headers"; //
>> $NON-NLS-1$
>>      public static final String USE_BODY = "false"; // $NON-NLS-1$
>>      public static final String USE_BODY_UNESCAPED = "unescaped"; //
>> $NON-NLS-1$
>>      public static final String USE_BODY_AS_DOCUMENT = "as_document"; //
>> $NON-NLS-1$
>> @@ -172,6 +173,7 @@ public class RegexExtractor extends Abst
>>      private String getInputString(SampleResult result) {
>>          String inputString = useUrl() ? result.getUrlAsString() // Bug
>> 39707
>>                  : useHeaders() ? result.getResponseHeaders()
>> +                : useRequestHeaders() ? result.getRequestHeaders()
>>                  : useCode() ? result.getResponseCode() // Bug 43451
>>                  : useMessage() ? result.getResponseMessage() // Bug 43451
>>                  : useUnescapedBody() ?
>> StringEscapeUtils.unescapeHtml4(result.getResponseDataAsString())
>> @@ -435,6 +437,10 @@ public class RegexExtractor extends Abst
>>          return USE_HDRS.equalsIgnoreCase(
>> getPropertyAsString(MATCH_AGAINST));
>>      }
>>
>> +    public boolean useRequestHeaders() {
>> +        return
>> USE_REQUEST_HDRS.equalsIgnoreCase(getPropertyAsString(MATCH_AGAINST));
>> +    }
>> +
>>      // Allow for property not yet being set (probably only applies to
>> Test cases)
>>      public boolean useBody() {
>>          String prop = getPropertyAsString(MATCH_AGAINST);
>>
>> Modified:
>> jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java?rev=1614883&r1=1614882&r2=1614883&view=diff
>>
>> ==============================================================================
>> ---
>> jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
>> (original)
>> +++
>> jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
>> Thu Jul 31 13:28:20 2014
>> @@ -61,6 +61,8 @@ public class RegexExtractorGui extends A
>>
>>      private JRadioButton useHeaders;
>>
>> +    private JRadioButton useRequestHeaders;
>> +
>>      private JRadioButton useURL;
>>
>>      private JRadioButton useCode;
>> @@ -86,6 +88,7 @@ public class RegexExtractorGui extends A
>>              RegexExtractor re = (RegexExtractor) el;
>>              showScopeSettings(re, true);
>>              useHeaders.setSelected(re.useHeaders());
>> +            useRequestHeaders.setSelected(re.useRequestHeaders());
>>              useBody.setSelected(re.useBody());
>>              useUnescapedBody.setSelected(re.useUnescapedBody());
>>              useBodyAsDocument.setSelected(re.useBodyAsDocument());
>> @@ -166,6 +169,7 @@ public class RegexExtractorGui extends A
>>          useUnescapedBody = new
>> JRadioButton(JMeterUtils.getResString("regex_src_body_unescaped"));
>> //$NON-NLS-1$
>>          useBodyAsDocument = new
>> JRadioButton(JMeterUtils.getResString("regex_src_body_as_document"));
>> //$NON-NLS-1$
>>          useHeaders = new
>> JRadioButton(JMeterUtils.getResString("regex_src_hdrs")); //$NON-NLS-1$
>> +        useRequestHeaders = new
>> JRadioButton(JMeterUtils.getResString("regex_src_hdrs_req")); //$NON-NLS-1$
>>          useURL = new
>> JRadioButton(JMeterUtils.getResString("regex_src_url")); //$NON-NLS-1$
>>          useCode = new
>> JRadioButton(JMeterUtils.getResString("assertion_code_resp")); //$NON-NLS-1$
>>          useMessage = new
>> JRadioButton(JMeterUtils.getResString("assertion_message_resp"));
>> //$NON-NLS-1$
>> @@ -175,6 +179,7 @@ public class RegexExtractorGui extends A
>>          group.add(useUnescapedBody);
>>          group.add(useBodyAsDocument);
>>          group.add(useHeaders);
>> +        group.add(useRequestHeaders);
>>          group.add(useURL);
>>          group.add(useCode);
>>          group.add(useMessage);
>> @@ -183,6 +188,7 @@ public class RegexExtractorGui extends A
>>          panel.add(useUnescapedBody);
>>          panel.add(useBodyAsDocument);
>>          panel.add(useHeaders);
>> +        panel.add(useRequestHeaders);
>>          panel.add(useURL);
>>          panel.add(useCode);
>>          panel.add(useMessage);
>> @@ -194,6 +200,7 @@ public class RegexExtractorGui extends A
>>
>>  useUnescapedBody.setActionCommand(RegexExtractor.USE_BODY_UNESCAPED);
>>
>>  useBodyAsDocument.setActionCommand(RegexExtractor.USE_BODY_AS_DOCUMENT);
>>          useHeaders.setActionCommand(RegexExtractor.USE_HDRS);
>> +
>> useRequestHeaders.setActionCommand(RegexExtractor.USE_REQUEST_HDRS);
>>          useURL.setActionCommand(RegexExtractor.USE_URL);
>>          useCode.setActionCommand(RegexExtractor.USE_CODE);
>>          useMessage.setActionCommand(RegexExtractor.USE_MESSAGE);
>>
>> Modified:
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=1614883&r1=1614882&r2=1614883&view=diff
>>
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
>> (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
>> Thu Jul 31 13:28:20 2014
>> @@ -776,11 +776,12 @@ regex_params_names_field=Parameter names
>>  regex_params_values_field=Parameter values regex group number
>>  regex_params_ref_name_field=Regular Expression Reference Name
>>  regex_params_title=RegEx User Parameters
>> -regex_source=Response Field to check
>> +regex_source=Field to check
>>  regex_src_body=Body
>>  regex_src_body_as_document=Body as a Document
>>  regex_src_body_unescaped=Body (unescaped)
>> -regex_src_hdrs=Headers
>> +regex_src_hdrs=Response Headers
>> +regex_src_hdrs_req=Request Headers
>>  regex_src_url=URL
>>  regexfunc_param_1=Regular expression used to search previous sample - or
>> variable.
>>  regexfunc_param_2=Template for the replacement string, using groups from
>> the regular expression.  Format is $[group]$.  Example $1$.
>>
>> Modified:
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties?rev=1614883&r1=1614882&r2=1614883&view=diff
>>
>> ==============================================================================
>> ---
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
>> (original)
>> +++
>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
>> Thu Jul 31 13:28:20 2014
>> @@ -773,7 +773,8 @@ regex_source=Port\u00E9e
>>  regex_src_body=Corps
>>  regex_src_body_as_document=Corps en tant que Document
>>  regex_src_body_unescaped=Corps (non \u00E9chapp\u00E9)
>> -regex_src_hdrs=Ent\u00EAtes
>> +regex_src_hdrs=Ent\u00EAtes (R\u00E9ponse)
>> +regex_src_hdrs_req=Ent\u00EAtes (Requ\u00EAte)
>>  regex_src_url=URL
>>  regexfunc_param_1=Expression r\u00E9guli\u00E8re utilis\u00E9e pour
>> chercher les r\u00E9sultats de la requ\u00EAte pr\u00E9c\u00E9dente.
>>  regexfunc_param_2=Canevas pour la ch\u00EEne de caract\u00E8re de
>> remplacement, utilisant des groupes d'expressions r\u00E9guli\u00E8res. Le
>> format est  $[group]$.  Exemple $1$.
>>
>> Modified: jmeter/trunk/xdocs/changes.xml
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1614883&r1=1614882&r2=1614883&view=diff
>>
>> ==============================================================================
>> --- jmeter/trunk/xdocs/changes.xml (original)
>> +++ jmeter/trunk/xdocs/changes.xml Thu Jul 31 13:28:20 2014
>> @@ -158,6 +158,7 @@ A workaround is to use a Java 7 update 4
>>  <li><bugzilla>56162</bugzilla> -  HTTP Cache Manager should not cache
>> PUT/POST etc.</li>
>>  <li><bugzilla>56227</bugzilla> - AssertionGUI : NPE in assertion on mouse
>> selection</li>
>>  <li><bugzilla>41319</bugzilla> - URLRewritingModifier : Allow Parameter
>> value to be url encoded</li>
>> +<li><bugzilla>52061</bugzilla> - Allow access to Request Headers in Regex
>> Extractor</li>
>>  </ul>
>>
>>  <h3>Functions</h3>
>>
>> Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1614883&r1=1614882&r2=1614883&view=diff
>>
>> ==============================================================================
>> --- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
>> +++ jmeter/trunk/xdocs/usermanual/component_reference.xml Thu Jul 31
>> 13:28:20 2014
>> @@ -5235,8 +5235,8 @@ generate the template string, and store
>>          For match number = 0 or negative, all qualifying samples will be
>> processed.
>>          For match number > 0, matching will stop as soon as enough
>> matches have been found.
>>          </property>
>> -        <property name="Response Field to check" required="Yes">
>> -        The following response fields can be checked:
>> +        <property name="Field to check" required="Yes">
>> +        The following fields can be checked:
>>          <ul>
>>          <li>Body - the body of the response, e.g. the content of a
>> web-page (excluding headers)</li>
>>          <li>Body (unescaped) - the body of the response, with all Html
>> escape codes replaced.
>> @@ -5245,9 +5245,10 @@ generate the template string, and store
>>          <note>Note that this option highly impacts performances, so use
>> it only when absolutely necessary and be aware of its impacts</note>
>>          </li>
>>          <li>Body as a Document - the extract text from various type of
>> documents via Apache Tika (see <complink name="View Results Tree"/>
>> Document view section).
>> -        <note>Note that Body as a Document option can impact
>> performances, so ensure it is Ok for your test</note>
>> +        <note>Note that the Body as a Document option can impact
>> performances, so ensure it is Ok for your test</note>
>>          </li>
>> -        <li>Headers - may not be present for non-HTTP samples</li>
>> +        <li>Request Headers - may not be present for non-HTTP samples</li>
>> +        <li>Response Headers - may not be present for non-HTTP
>> samples</li>
>>          <li>URL</li>
>>          <li>Response Code - e.g. 200</li>
>>          <li>Response Message - e.g. OK</li>
>>
>>
>>
>
> --
> Cordialement.
> Philippe Mouawad.

Re: svn commit: r1614883 - in /jmeter/trunk: src/components/org/apache/jmeter/extractor/ src/components/org/apache/jmeter/extractor/gui/ src/core/org/apache/jmeter/resources/ xdocs/ xdocs/usermanual/

Posted by Philippe Mouawad <ph...@gmail.com>.
Hello,
Shouldn't this be an enhancement rather than bug fix ?
Also note in changes.xml does not contain the usual "Contributed by ..."

Regards
Philippe

On Thursday, July 31, 2014, <se...@apache.org> wrote:

> Author: sebb
> Date: Thu Jul 31 13:28:20 2014
> New Revision: 1614883
>
> URL: http://svn.apache.org/r1614883
> Log:
> Allow access to Request Headers in Regex Extractor
> Bugzilla Id: 52061
>
> Modified:
>
> jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java
>
> jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
>     jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
>
> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
>     jmeter/trunk/xdocs/changes.xml
>     jmeter/trunk/xdocs/usermanual/component_reference.xml
>
> Modified:
> jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java
> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java?rev=1614883&r1=1614882&r2=1614883&view=diff
>
> ==============================================================================
> ---
> jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java
> (original)
> +++
> jmeter/trunk/src/components/org/apache/jmeter/extractor/RegexExtractor.java
> Thu Jul 31 13:28:20 2014
> @@ -62,6 +62,7 @@ public class RegexExtractor extends Abst
>       *  Do not change these values!
>      */
>      public static final String USE_HDRS = "true"; // $NON-NLS-1$
> +    public static final String USE_REQUEST_HDRS = "request_headers"; //
> $NON-NLS-1$
>      public static final String USE_BODY = "false"; // $NON-NLS-1$
>      public static final String USE_BODY_UNESCAPED = "unescaped"; //
> $NON-NLS-1$
>      public static final String USE_BODY_AS_DOCUMENT = "as_document"; //
> $NON-NLS-1$
> @@ -172,6 +173,7 @@ public class RegexExtractor extends Abst
>      private String getInputString(SampleResult result) {
>          String inputString = useUrl() ? result.getUrlAsString() // Bug
> 39707
>                  : useHeaders() ? result.getResponseHeaders()
> +                : useRequestHeaders() ? result.getRequestHeaders()
>                  : useCode() ? result.getResponseCode() // Bug 43451
>                  : useMessage() ? result.getResponseMessage() // Bug 43451
>                  : useUnescapedBody() ?
> StringEscapeUtils.unescapeHtml4(result.getResponseDataAsString())
> @@ -435,6 +437,10 @@ public class RegexExtractor extends Abst
>          return USE_HDRS.equalsIgnoreCase(
> getPropertyAsString(MATCH_AGAINST));
>      }
>
> +    public boolean useRequestHeaders() {
> +        return
> USE_REQUEST_HDRS.equalsIgnoreCase(getPropertyAsString(MATCH_AGAINST));
> +    }
> +
>      // Allow for property not yet being set (probably only applies to
> Test cases)
>      public boolean useBody() {
>          String prop = getPropertyAsString(MATCH_AGAINST);
>
> Modified:
> jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java?rev=1614883&r1=1614882&r2=1614883&view=diff
>
> ==============================================================================
> ---
> jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
> (original)
> +++
> jmeter/trunk/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
> Thu Jul 31 13:28:20 2014
> @@ -61,6 +61,8 @@ public class RegexExtractorGui extends A
>
>      private JRadioButton useHeaders;
>
> +    private JRadioButton useRequestHeaders;
> +
>      private JRadioButton useURL;
>
>      private JRadioButton useCode;
> @@ -86,6 +88,7 @@ public class RegexExtractorGui extends A
>              RegexExtractor re = (RegexExtractor) el;
>              showScopeSettings(re, true);
>              useHeaders.setSelected(re.useHeaders());
> +            useRequestHeaders.setSelected(re.useRequestHeaders());
>              useBody.setSelected(re.useBody());
>              useUnescapedBody.setSelected(re.useUnescapedBody());
>              useBodyAsDocument.setSelected(re.useBodyAsDocument());
> @@ -166,6 +169,7 @@ public class RegexExtractorGui extends A
>          useUnescapedBody = new
> JRadioButton(JMeterUtils.getResString("regex_src_body_unescaped"));
> //$NON-NLS-1$
>          useBodyAsDocument = new
> JRadioButton(JMeterUtils.getResString("regex_src_body_as_document"));
> //$NON-NLS-1$
>          useHeaders = new
> JRadioButton(JMeterUtils.getResString("regex_src_hdrs")); //$NON-NLS-1$
> +        useRequestHeaders = new
> JRadioButton(JMeterUtils.getResString("regex_src_hdrs_req")); //$NON-NLS-1$
>          useURL = new
> JRadioButton(JMeterUtils.getResString("regex_src_url")); //$NON-NLS-1$
>          useCode = new
> JRadioButton(JMeterUtils.getResString("assertion_code_resp")); //$NON-NLS-1$
>          useMessage = new
> JRadioButton(JMeterUtils.getResString("assertion_message_resp"));
> //$NON-NLS-1$
> @@ -175,6 +179,7 @@ public class RegexExtractorGui extends A
>          group.add(useUnescapedBody);
>          group.add(useBodyAsDocument);
>          group.add(useHeaders);
> +        group.add(useRequestHeaders);
>          group.add(useURL);
>          group.add(useCode);
>          group.add(useMessage);
> @@ -183,6 +188,7 @@ public class RegexExtractorGui extends A
>          panel.add(useUnescapedBody);
>          panel.add(useBodyAsDocument);
>          panel.add(useHeaders);
> +        panel.add(useRequestHeaders);
>          panel.add(useURL);
>          panel.add(useCode);
>          panel.add(useMessage);
> @@ -194,6 +200,7 @@ public class RegexExtractorGui extends A
>
>  useUnescapedBody.setActionCommand(RegexExtractor.USE_BODY_UNESCAPED);
>
>  useBodyAsDocument.setActionCommand(RegexExtractor.USE_BODY_AS_DOCUMENT);
>          useHeaders.setActionCommand(RegexExtractor.USE_HDRS);
> +
> useRequestHeaders.setActionCommand(RegexExtractor.USE_REQUEST_HDRS);
>          useURL.setActionCommand(RegexExtractor.USE_URL);
>          useCode.setActionCommand(RegexExtractor.USE_CODE);
>          useMessage.setActionCommand(RegexExtractor.USE_MESSAGE);
>
> Modified:
> jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=1614883&r1=1614882&r2=1614883&view=diff
>
> ==============================================================================
> --- jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
> (original)
> +++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
> Thu Jul 31 13:28:20 2014
> @@ -776,11 +776,12 @@ regex_params_names_field=Parameter names
>  regex_params_values_field=Parameter values regex group number
>  regex_params_ref_name_field=Regular Expression Reference Name
>  regex_params_title=RegEx User Parameters
> -regex_source=Response Field to check
> +regex_source=Field to check
>  regex_src_body=Body
>  regex_src_body_as_document=Body as a Document
>  regex_src_body_unescaped=Body (unescaped)
> -regex_src_hdrs=Headers
> +regex_src_hdrs=Response Headers
> +regex_src_hdrs_req=Request Headers
>  regex_src_url=URL
>  regexfunc_param_1=Regular expression used to search previous sample - or
> variable.
>  regexfunc_param_2=Template for the replacement string, using groups from
> the regular expression.  Format is $[group]$.  Example $1$.
>
> Modified:
> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties?rev=1614883&r1=1614882&r2=1614883&view=diff
>
> ==============================================================================
> ---
> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
> (original)
> +++
> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
> Thu Jul 31 13:28:20 2014
> @@ -773,7 +773,8 @@ regex_source=Port\u00E9e
>  regex_src_body=Corps
>  regex_src_body_as_document=Corps en tant que Document
>  regex_src_body_unescaped=Corps (non \u00E9chapp\u00E9)
> -regex_src_hdrs=Ent\u00EAtes
> +regex_src_hdrs=Ent\u00EAtes (R\u00E9ponse)
> +regex_src_hdrs_req=Ent\u00EAtes (Requ\u00EAte)
>  regex_src_url=URL
>  regexfunc_param_1=Expression r\u00E9guli\u00E8re utilis\u00E9e pour
> chercher les r\u00E9sultats de la requ\u00EAte pr\u00E9c\u00E9dente.
>  regexfunc_param_2=Canevas pour la ch\u00EEne de caract\u00E8re de
> remplacement, utilisant des groupes d'expressions r\u00E9guli\u00E8res. Le
> format est  $[group]$.  Exemple $1$.
>
> Modified: jmeter/trunk/xdocs/changes.xml
> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1614883&r1=1614882&r2=1614883&view=diff
>
> ==============================================================================
> --- jmeter/trunk/xdocs/changes.xml (original)
> +++ jmeter/trunk/xdocs/changes.xml Thu Jul 31 13:28:20 2014
> @@ -158,6 +158,7 @@ A workaround is to use a Java 7 update 4
>  <li><bugzilla>56162</bugzilla> -  HTTP Cache Manager should not cache
> PUT/POST etc.</li>
>  <li><bugzilla>56227</bugzilla> - AssertionGUI : NPE in assertion on mouse
> selection</li>
>  <li><bugzilla>41319</bugzilla> - URLRewritingModifier : Allow Parameter
> value to be url encoded</li>
> +<li><bugzilla>52061</bugzilla> - Allow access to Request Headers in Regex
> Extractor</li>
>  </ul>
>
>  <h3>Functions</h3>
>
> Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1614883&r1=1614882&r2=1614883&view=diff
>
> ==============================================================================
> --- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
> +++ jmeter/trunk/xdocs/usermanual/component_reference.xml Thu Jul 31
> 13:28:20 2014
> @@ -5235,8 +5235,8 @@ generate the template string, and store
>          For match number = 0 or negative, all qualifying samples will be
> processed.
>          For match number > 0, matching will stop as soon as enough
> matches have been found.
>          </property>
> -        <property name="Response Field to check" required="Yes">
> -        The following response fields can be checked:
> +        <property name="Field to check" required="Yes">
> +        The following fields can be checked:
>          <ul>
>          <li>Body - the body of the response, e.g. the content of a
> web-page (excluding headers)</li>
>          <li>Body (unescaped) - the body of the response, with all Html
> escape codes replaced.
> @@ -5245,9 +5245,10 @@ generate the template string, and store
>          <note>Note that this option highly impacts performances, so use
> it only when absolutely necessary and be aware of its impacts</note>
>          </li>
>          <li>Body as a Document - the extract text from various type of
> documents via Apache Tika (see <complink name="View Results Tree"/>
> Document view section).
> -        <note>Note that Body as a Document option can impact
> performances, so ensure it is Ok for your test</note>
> +        <note>Note that the Body as a Document option can impact
> performances, so ensure it is Ok for your test</note>
>          </li>
> -        <li>Headers - may not be present for non-HTTP samples</li>
> +        <li>Request Headers - may not be present for non-HTTP samples</li>
> +        <li>Response Headers - may not be present for non-HTTP
> samples</li>
>          <li>URL</li>
>          <li>Response Code - e.g. 200</li>
>          <li>Response Message - e.g. OK</li>
>
>
>

-- 
Cordialement.
Philippe Mouawad.