Bug 52674 - Proxy : Add a Sampler Creator to allow plugging HTTP based samplers using potentially non textual POST Body (AMF, Silverlight...) and customizing them for others
Summary: Proxy : Add a Sampler Creator to allow plugging HTTP based samplers using pot...
Status: RESOLVED FIXED
Alias: None
Product: JMeter - Now in Github
Classification: Unclassified
Component: HTTP (show other bugs)
Version: 2.6
Hardware: All All
: P2 enhancement (vote)
Target Milestone: ---
Assignee: JMeter issues mailing list
URL:
Keywords:
: 49039 (view as bug list)
Depends on: 52675
Blocks: 40424
  Show dependency tree
 
Reported: 2012-02-15 21:26 UTC by Philippe Mouawad
Modified: 2012-06-27 21:17 UTC (History)
2 users (show)



Attachments
Patch proposal (36.92 KB, patch)
2012-02-26 20:02 UTC, Philippe Mouawad
Details | Diff
Patch with Test updated (43.60 KB, patch)
2012-02-28 17:39 UTC, Philippe Mouawad
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Mouawad 2012-02-15 21:26:31 UTC
It would be useful to have the ability to plug a Sampler Customizer that depending on content type.

One example I need currently is the following:
- For GWT samplers for example it would be useful to be able to directly set element.setProperty(HTTPSamplerBase.POST_BODY_RAW, useRaw, HTTPSamplerBase.POST_BODY_RAW_DEFAULT);


Another requirement I have is to be able to customize created sampler, 
A direct use I see is for example a SilverLight or Flex protocol, doing this will enable plugins to implement a factory and use current implementations of Proxy, ProxyControl and HttpRequestHdr.

This could be done by delaying sampler creation until rawPostBody and contentType are available in HttpRequestHdr, once these are available , a factory could be called with content type , this would enable plugging other Samplers than just HttpSampler.
Comment 1 Philippe Mouawad 2012-02-26 20:02:30 UTC
Created attachment 28385 [details]
Patch proposal
Comment 2 Philippe Mouawad 2012-02-28 17:39:23 UTC
Created attachment 28398 [details]
Patch with Test updated

Hello,
I made some thorough testing of the code.
I also implemented an Binary (POST body) based protocol successfully by implementing a SamplerCreator subclass.
I think this feature will be very useful to allow recording protocols as AMF , Silverlight by plugins.

Can I commit it or you want to review it first ?
Thanks

Regards
Philippe
Comment 3 Philippe Mouawad 2012-03-02 23:38:20 UTC
Date: Fri Mar  2 23:37:26 2012
New Revision: 1296512

URL: http://svn.apache.org/viewvc?rev=1296512&view=rev
Log:
Bug 52674 - Proxy : Add a Sampler Creator to allow plugging HTTP based samplers using potentially non textual POST Body (AMF, Silverlight...) and customizing them for others

Added:
   jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/AbstractSamplerCreator.java   (with props)
   jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java   (with props)
   jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/SamplerCreator.java   (with props)
   jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/SamplerCreatorFactory.java   (with props)
Modified:
   jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
   jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java
   jmeter/trunk/xdocs/changes.xml
Comment 4 Philippe Mouawad 2012-03-02 23:40:18 UTC
Date: Fri Mar  2 23:39:17 2012
New Revision: 1296513

URL: http://svn.apache.org/viewvc?rev=1296513&view=rev
Log:
Bug 52674 - Proxy : Add a Sampler Creator to allow plugging HTTP based samplers using potentially non textual POST Body (AMF, Silverlight...) and customizing them for others

Modified:
   jmeter/trunk/test/src/org/apache/jmeter/protocol/http/proxy/TestHttpRequestHdr.java
Comment 5 Philippe Mouawad 2012-06-27 21:17:24 UTC
*** Bug 49039 has been marked as a duplicate of this bug. ***
Comment 6 The ASF infrastructure team 2022-09-24 20:37:49 UTC
This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/2735