Class HTTPJavaImpl
- java.lang.Object
-
- org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl
-
- org.apache.jmeter.protocol.http.sampler.HTTPJavaImpl
-
- All Implemented Interfaces:
HTTPConstantsInterface,Interruptible
public class HTTPJavaImpl extends HTTPAbstractImpl
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
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_GZIP, ETAG, EXPIRES, GET, HEAD, HEADER_AUTHORIZATION, HEADER_CONNECTION, HEADER_CONTENT_DISPOSITION, HEADER_CONTENT_ENCODING, HEADER_CONTENT_LENGTH, HEADER_CONTENT_TYPE, HEADER_COOKIE, 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, TRACE, TRANSFER_ENCODING, UNLOCK
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedHTTPJavaImpl(HTTPSamplerBase base)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddisconnect(HttpURLConnection conn)protected StringgetResponseHeaders(HttpURLConnection conn)Gets the ResponseHeaders from the URLConnectionbooleaninterrupt()Interrupt the current operation if possible.protected byte[]readResponse(HttpURLConnection conn, SampleResult res)Reads the response from the URL connection.protected HTTPSampleResultsample(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.protected StringsendPostData(URLConnection connection)Send POST data fromEntryto the open connection.protected voidsetPostHeaders(URLConnection conn)Set request headers in preparation to opening a connection.protected HttpURLConnectionsetupConnection(URL u, String method, HTTPSampleResult res)Returns anHttpURLConnectionfully ready to attempt connection.-
Methods inherited from class org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl
errorResult, getArguments, getAuthManager, getAutoRedirects, getCacheManager, getConnectTimeout, getContentEncoding, getCookieManager, getDoBrowserCompatibleMultipart, getHeaderManager, getHTTPFiles, getIpSource, getIpSourceAddress, getProxyHost, getProxyPass, getProxyPortInt, getProxyUser, getResponseTimeout, getSendFileAsPostBody, getSendParameterValuesAsPostBody, getUseKeepAlive, getUseMultipartForPost, hasArguments, isMonitor, isSuccessCode, notifyFirstSampleAfterLoopRestart, notifySSLContextWasReset, readResponse, readResponse, resultProcessing, setUseKeepAlive, threadFinished, updateSampleResultForResourceInCache
-
-
-
-
Constructor Detail
-
HTTPJavaImpl
protected HTTPJavaImpl(HTTPSamplerBase base)
-
-
Method Detail
-
setPostHeaders
protected void setPostHeaders(URLConnection conn) throws IOException
Set request headers in preparation to opening a connection.- Parameters:
conn-URLConnectionto set headers on- Throws:
IOException- if an I/O exception occurs
-
sendPostData
protected String sendPostData(URLConnection connection) throws IOException
Send POST data fromEntryto the open connection. This also handles sending data for PUT requests- Parameters:
connection-URLConnectionwhere 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 anHttpURLConnectionfully 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-URLof the URL requestmethod- GET, POST etcres- sample result to save request infos to- Returns:
HttpURLConnectionready for .connect- Throws:
IOException- if an I/O Exception occurs
-
readResponse
protected byte[] readResponse(HttpURLConnection conn, SampleResult res) throws IOException
Reads the response from the URL connection.- Parameters:
conn- URL from which to read responseres-SampleResultto read response into- Returns:
- response content
- Throws:
IOException- if an I/O exception occurs
-
getResponseHeaders
protected String getResponseHeaders(HttpURLConnection conn)
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:
samplein 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
protected void disconnect(HttpURLConnection conn)
-
interrupt
public boolean interrupt()
Interrupt the current operation if possible.- Returns:
trueif there was an operation to interrupt.
-
-