Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,9 @@ private void createTestPlan(ActionEvent e, Request request, String statusText)
private HTTPSamplerProxy createHttpRequest(Request request, HashTree parentHT, String commentText) throws MalformedURLException {
HTTPSamplerProxy httpSampler = createSampler(request,commentText);
HashTree samplerHT = parentHT.add(httpSampler);
samplerHT.add(httpSampler.getHeaderManager());
@SuppressWarnings("deprecation")
HeaderManager headerManager = httpSampler.getHeaderManager();
samplerHT.add(headerManager);
if (CERT.equals(request.getCaCert())) {
samplerHT.add(httpSampler.getKeystoreConfig());
}
Expand Down Expand Up @@ -763,6 +765,7 @@ private void addToTestPlan(final JMeterTreeNode currentNode, Request request,Str
createCookieManager(cookieManager, request);
}
}
@SuppressWarnings("deprecation")
HeaderManager headerManager = sampler.getHeaderManager();
KeystoreConfig keystoreConfig = sampler.getKeystoreConfig();
final JMeterTreeNode newNode = treeModel.addComponent(sampler, currentNode);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ public void run() {
* captured and sent to the server
*/
headers = request.getHeaderManager();
sampler.setHeaderManager(headers);
setHeaderManager(headers, sampler);

sampler.threadStarted(); // Needed for HTTPSampler2
if (isDebug) {
Expand Down Expand Up @@ -317,6 +317,11 @@ public void run() {
}
}

@SuppressWarnings("deprecation")
private static void setHeaderManager(HeaderManager headers, HTTPSamplerBase sampler) {
sampler.setHeaderManager(headers);
}

/**
* Set the counter for all registered {@link SamplerCreatorFactory}s
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ private void setupConnection(URL url,
}

private int getHeaderSize(String method, URL url) {
@SuppressWarnings("deprecation")
HeaderManager headers = getHeaderManager();
CookieManager cookies = getCookieManager();
AuthManager auth = getAuthManager();
Expand Down Expand Up @@ -231,6 +232,7 @@ private int getHeaderSize(String method, URL url) {

private String setConnectionHeaders(URL url, String host, String method)
throws IOException {
@SuppressWarnings("deprecation")
HeaderManager headers = getHeaderManager();
AuthManager auth = getAuthManager();
StringBuilder hbuf = new StringBuilder();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,9 @@ protected CookieManager getCookieManager() {
* Invokes {@link HTTPSamplerBase#getHeaderManager()}
*
* @return the {@link HeaderManager} of the associated test element
* @deprecated since 5.6 as it prevents sharing a common Header Manager across samplers
*/
@Deprecated
protected HeaderManager getHeaderManager() {
return testElement.getHeaderManager();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1304,7 +1304,9 @@ protected void setupRequest(URL url, HttpRequestBase httpRequest, HTTPSampleResu
httpRequest.setHeader(HTTPConstants.HEADER_CONNECTION, HTTPConstants.CONNECTION_CLOSE);
}

setConnectionHeaders(httpRequest, url, getHeaderManager(), getCacheManager());
@SuppressWarnings("deprecation")
HeaderManager headerManager = getHeaderManager();
setConnectionHeaders(httpRequest, url, headerManager, getCacheManager());

String cookies = setConnectionCookie(httpRequest, url, getCookieManager());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,9 @@ protected HttpURLConnection setupConnection(URL u, String method, HTTPSampleResu
}

conn.setRequestMethod(method);
setConnectionHeaders(conn, u, getHeaderManager(), getCacheManager());
@SuppressWarnings("deprecation")
HeaderManager headerManager = getHeaderManager();
setConnectionHeaders(conn, u, headerManager, getCacheManager());
String cookies = setConnectionCookie(conn, u, getCookieManager());

Map<String, String> securityHeaders = setConnectionAuthorization(conn, u, getAuthManager());
Expand Down Expand Up @@ -518,7 +520,9 @@ protected HTTPSampleResult sample(URL url, String method, boolean areFollowingRe
// Check cache for an entry with an Expires header in the future
final CacheManager cacheManager = getCacheManager();
if (cacheManager != null && HTTPConstants.GET.equalsIgnoreCase(method)) {
if (cacheManager.inCache(url, getHeaders(getHeaderManager()))) {
@SuppressWarnings("deprecation")
HeaderManager headerManager = getHeaderManager();
if (cacheManager.inCache(url, getHeaders(headerManager))) {
return updateSampleResultForResourceInCache(res);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -928,7 +928,14 @@ public AuthManager getAuthManager() {
return (AuthManager) getProperty(AUTH_MANAGER).getObjectValue();
}

/**
* Sets HTTP Header Manager for this sampler.
* @deprecated since 5.6 as it prevents sharing a common Header Manager across samplers
* @param value header manager
*/
@Deprecated
public void setHeaderManager(final HeaderManager value) {
@SuppressWarnings("deprecation")
HeaderManager mgr = getHeaderManager();
HeaderManager lValue = value;
if (mgr != null) {
Expand All @@ -943,6 +950,11 @@ public void setHeaderManager(final HeaderManager value) {
setProperty(new TestElementProperty(HEADER_MANAGER, lValue));
}

/**
* Retrieves HTTP Header Manager for this sampler.
* @deprecated since 5.6 as it prevents sharing a common Header Manager across samplers
*/
@Deprecated
public HeaderManager getHeaderManager() {
return (HeaderManager) getProperty(HEADER_MANAGER).getObjectValue();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,8 +251,10 @@ public void testCreateSampler(@TempDir Path tempDir) throws Exception {
assertEquals("www.example.com", httpSampler.getDomain());
assertEquals("/12345?param1=value1&param2=value2", httpSampler.getPath());
assertEquals("PUT", httpSampler.getMethod());
assertEquals(new Header("accept", "*/*"), httpSampler.getHeaderManager().getHeader(0));
assertEquals(new Header("X-XSRF-TOKEN", "1234"), httpSampler.getHeaderManager().getHeader(1));
@SuppressWarnings("deprecation")
HeaderManager headerManager = httpSampler.getHeaderManager();
assertEquals(new Header("accept", "*/*"), headerManager.getHeader(0));
assertEquals(new Header("X-XSRF-TOKEN", "1234"), headerManager.getHeader(1));
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ public void mockServer(String httpImpl, ClientGzip clientGzip, ServerGzip server
hm.add(new Header("Accept-Encoding", "gzip"));
}
hm.add(new Header("Content-Encoding", "utf-8"));
http.setHeaderManager(hm);
setHeaderManager(http, hm);
MappingBuilder mappingBuilder = WireMock.get("/gzip");
if (clientGzip == ClientGzip.REQUESTED) {
mappingBuilder = mappingBuilder.withHeader("Accept-Encoding", WireMock.equalTo("gzip"));
Expand Down Expand Up @@ -108,6 +108,11 @@ public void mockServer(String httpImpl, ClientGzip clientGzip, ServerGzip server
}
}

@SuppressWarnings("deprecation")
private static void setHeaderManager(HTTPSamplerBase http, HeaderManager hm) {
http.setHeaderManager(hm);
}

private WireMockServer createServer(Consumer<WireMockConfiguration> config) {
WireMockConfiguration configuration =
WireMockConfiguration
Expand Down
1 change: 1 addition & 0 deletions xdocs/changes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ Summary
<h3>HTTP Samplers and Test Script Recorder</h3>
<ul>
<li><pr>5911</pr> Use Caffeine for caching HTTP headers instead of commons-collections4 LRUMap</li>
<li><pr>5917</pr><pr>727</pr> Deprecate <code>HTTPSamplerBase#getHeaderManager</code> and <code>HTTPSamplerBase#setHeaderManager</code> so HTTP Header Managers could be shared in the future</li>
</ul>

<h3>Other samplers</h3>
Expand Down