Class HTTPJavaImpl
java.lang.Object
org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl
org.apache.jmeter.protocol.http.sampler.HTTPJavaImpl
- All Implemented Interfaces:
HTTPConstantsInterface
,Interruptible
A sampler which understands all the parts necessary to read statistics about
HTTP requests, including cookies and authentication.
-
Field Summary
Fields inherited from class org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl
ADD_CONTENT_TYPE_TO_POST_IF_MISSING, ALL_EXCEPT_COOKIE, ONLY_COOKIE, testElement
Fields inherited from interface org.apache.jmeter.protocol.http.util.HTTPConstantsInterface
APPLICATION_X_WWW_FORM_URLENCODED, CACHE_CONTROL, CONNECT, CONNECTION_CLOSE, COPY, DATE, DEFAULT_HTTP_PORT, DEFAULT_HTTP_PORT_STRING, DEFAULT_HTTPS_PORT, DEFAULT_HTTPS_PORT_STRING, DELETE, ENCODING_BROTLI, ENCODING_DEFLATE, ENCODING_GZIP, ETAG, EXPIRES, GET, HEAD, HEADER_AUTHORIZATION, HEADER_CONNECTION, HEADER_CONTENT_DISPOSITION, HEADER_CONTENT_ENCODING, HEADER_CONTENT_LENGTH, HEADER_CONTENT_TYPE, HEADER_COOKIE, HEADER_COOKIE_IN_REQUEST, HEADER_HOST, HEADER_LOCAL_ADDRESS, HEADER_LOCATION, HEADER_SET_COOKIE, HTTP_1_1, IF_MODIFIED_SINCE, IF_NONE_MATCH, KEEP_ALIVE, LAST_MODIFIED, LOCK, MKCALENDAR, MKCOL, MOVE, MULTIPART_FORM_DATA, OPTIONS, PATCH, POST, PROPFIND, PROPPATCH, PROTOCOL_HTTP, PROTOCOL_HTTPS, PUT, REPORT, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_PERMANENT_REDIRECT, SC_SEE_OTHER, SC_TEMPORARY_REDIRECT, SEARCH, TRACE, TRANSFER_ENCODING, UNLOCK, VARY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
disconnect
(HttpURLConnection conn) protected String
Gets the ResponseHeaders from the URLConnectionboolean
Interrupt the current operation if possible.protected byte[]
readResponse
(HttpURLConnection conn, SampleResult res) Reads the response from the URL connection.protected HTTPSampleResult
Samples the URL passed in and stores the result inHTTPSampleResult
, following redirects and downloading page resources as appropriate.protected String
sendPostData
(URLConnection connection) Send POST data fromEntry
to the open connection.protected void
setPostHeaders
(URLConnection conn) Set request headers in preparation to opening a connection.protected HttpURLConnection
setupConnection
(URL u, String method, HTTPSampleResult res) Returns anHttpURLConnection
fully ready to attempt connection.Methods inherited from class org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl
configureSampleLabel, errorResult, getArguments, getAuthManager, getAutoRedirects, getCacheManager, getConnectTimeout, getContentEncoding, getCookieManager, getDoBrowserCompatibleMultipart, getHeaderManager, getHTTPFiles, getIpSource, getIpSourceAddress, getProxyHost, getProxyPass, getProxyPortInt, getProxyScheme, getProxyUser, getResponseTimeout, getSendFileAsPostBody, getSendParameterValuesAsPostBody, getUseKeepAlive, getUseMultipart, getUseMultipartForPost, hasArguments, isMonitor, isSuccessCode, notifyFirstSampleAfterLoopRestart, notifySSLContextWasReset, readResponse, readResponse, readResponse, readResponse, resultProcessing, setUseKeepAlive, threadFinished, updateSampleResultForResourceInCache
-
Constructor Details
-
HTTPJavaImpl
-
-
Method Details
-
setPostHeaders
Set request headers in preparation to opening a connection.- Parameters:
conn
-URLConnection
to set headers on- Throws:
IOException
- if an I/O exception occurs
-
sendPostData
Send POST data fromEntry
to the open connection. This also handles sending data for PUT requests- Parameters:
connection
-URLConnection
where POST data should be sent- Returns:
- a String show what was posted. Will not contain actual file upload content
- Throws:
IOException
- if an I/O exception occurs
-
setupConnection
protected HttpURLConnection setupConnection(URL u, String method, HTTPSampleResult res) throws IOException Returns anHttpURLConnection
fully ready to attempt connection. This means it sets the request method (GET or POST), headers, cookies, and authorization for the URL request.The request infos are saved into the sample result if one is provided.
- Parameters:
u
-URL
of the URL requestmethod
- GET, POST etcres
- sample result to save request infos to- Returns:
HttpURLConnection
ready for .connect- Throws:
IOException
- if an I/O Exception occurs
-
readResponse
Reads the response from the URL connection.- Parameters:
conn
- URL from which to read responseres
-SampleResult
to read response into- Returns:
- response content
- Throws:
IOException
- if an I/O exception occurs
-
getResponseHeaders
Gets the ResponseHeaders from the URLConnection- Parameters:
conn
- connection from which the headers are read- Returns:
- string containing the headers, one per line
-
sample
protected HTTPSampleResult sample(URL url, String method, boolean areFollowingRedirect, int frameDepth) Samples the URL passed in and stores the result inHTTPSampleResult
, following redirects and downloading page resources as appropriate.When getting a redirect target, redirects are not followed and resources are not downloaded. The caller will take care of this.
- Specified by:
sample
in classHTTPAbstractImpl
- Parameters:
url
- URL to samplemethod
- HTTP method: GET, POST,...areFollowingRedirect
- whether we're getting a redirect targetframeDepth
- Depth of this target in the frame structure. Used only to prevent infinite recursion.- Returns:
- results of the sampling
-
disconnect
-
interrupt
public boolean interrupt()Interrupt the current operation if possible.- Returns:
true
if there was an operation to interrupt.
-