Package org.eclipse.jgit.transport.http
Class JDKHttpConnection
- java.lang.Object
-
- org.eclipse.jgit.transport.http.JDKHttpConnection
-
- All Implemented Interfaces:
HttpConnection
public class JDKHttpConnection extends java.lang.Object implements HttpConnection
AHttpConnectionwhich simply delegates every call to aHttpURLConnection. This is the default implementation used by JGit- Since:
- 3.3
-
-
Field Summary
-
Fields inherited from interface org.eclipse.jgit.transport.http.HttpConnection
HTTP_FORBIDDEN, HTTP_NOT_FOUND, HTTP_OK, HTTP_UNAUTHORIZED
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedJDKHttpConnection(java.net.URL url)protectedJDKHttpConnection(java.net.URL url, java.net.Proxy proxy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconfigure(javax.net.ssl.KeyManager[] km, javax.net.ssl.TrustManager[] tm, java.security.SecureRandom random)Configure the connection so that it can be used for https communication.voidconnect()intgetContentLength()java.lang.StringgetContentType()java.lang.StringgetHeaderField(java.lang.String name)java.util.Map<java.lang.String,java.util.List<java.lang.String>>getHeaderFields()java.io.InputStreamgetInputStream()java.io.OutputStreamgetOutputStream()java.lang.StringgetRequestMethod()intgetResponseCode()java.lang.StringgetResponseMessage()java.net.URLgetURL()voidsetChunkedStreamingMode(int chunklen)voidsetConnectTimeout(int timeout)voidsetDoOutput(boolean dooutput)voidsetFixedLengthStreamingMode(int contentLength)voidsetHostnameVerifier(javax.net.ssl.HostnameVerifier hostnameverifier)Set theHostnameVerifierused during https communicationvoidsetInstanceFollowRedirects(boolean followRedirects)voidsetReadTimeout(int timeout)voidsetRequestMethod(java.lang.String method)voidsetRequestProperty(java.lang.String key, java.lang.String value)voidsetUseCaches(boolean usecaches)booleanusingProxy()
-
-
-
Constructor Detail
-
JDKHttpConnection
protected JDKHttpConnection(java.net.URL url) throws java.net.MalformedURLException, java.io.IOException- Parameters:
url-- Throws:
java.net.MalformedURLExceptionjava.io.IOException
-
JDKHttpConnection
protected JDKHttpConnection(java.net.URL url, java.net.Proxy proxy) throws java.net.MalformedURLException, java.io.IOException- Parameters:
url-proxy-- Throws:
java.net.MalformedURLExceptionjava.io.IOException
-
-
Method Detail
-
getResponseCode
public int getResponseCode() throws java.io.IOException- Specified by:
getResponseCodein interfaceHttpConnection- Returns:
- the HTTP Status-Code, or -1
- Throws:
java.io.IOException- See Also:
HttpURLConnection.getResponseCode()
-
getURL
public java.net.URL getURL()
- Specified by:
getURLin interfaceHttpConnection- Returns:
- the URL.
- See Also:
URLConnection.getURL()
-
getResponseMessage
public java.lang.String getResponseMessage() throws java.io.IOException- Specified by:
getResponseMessagein interfaceHttpConnection- Returns:
- the HTTP response message, or
null - Throws:
java.io.IOException- See Also:
HttpURLConnection.getResponseMessage()
-
getHeaderFields
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getHeaderFields()
- Specified by:
getHeaderFieldsin interfaceHttpConnection- Returns:
- a Map of header fields
- See Also:
URLConnection.getHeaderFields()
-
setRequestProperty
public void setRequestProperty(java.lang.String key, java.lang.String value)- Specified by:
setRequestPropertyin interfaceHttpConnection- Parameters:
key- the keyword by which the request is known (e.g., "Accept").value- the value associated with it.- See Also:
URLConnection.setRequestProperty(String, String)
-
setRequestMethod
public void setRequestMethod(java.lang.String method) throws java.net.ProtocolException- Specified by:
setRequestMethodin interfaceHttpConnection- Parameters:
method- the HTTP method- Throws:
java.net.ProtocolException- if the method cannot be reset or if the requested method isn't valid for HTTP.- See Also:
HttpURLConnection.setRequestMethod(String)
-
setUseCaches
public void setUseCaches(boolean usecaches)
- Specified by:
setUseCachesin interfaceHttpConnection- Parameters:
usecaches- abooleanindicating whether or not to allow caching- See Also:
URLConnection.setUseCaches(boolean)
-
setConnectTimeout
public void setConnectTimeout(int timeout)
- Specified by:
setConnectTimeoutin interfaceHttpConnection- Parameters:
timeout- anintthat specifies the connect timeout value in milliseconds- See Also:
URLConnection.setConnectTimeout(int)
-
setReadTimeout
public void setReadTimeout(int timeout)
- Specified by:
setReadTimeoutin interfaceHttpConnection- Parameters:
timeout- anintthat specifies the timeout value to be used in milliseconds- See Also:
URLConnection.setReadTimeout(int)
-
getContentType
public java.lang.String getContentType()
- Specified by:
getContentTypein interfaceHttpConnection- Returns:
- the content type of the resource that the URL references, or
nullif not known. - See Also:
URLConnection.getContentType()
-
getInputStream
public java.io.InputStream getInputStream() throws java.io.IOException- Specified by:
getInputStreamin interfaceHttpConnection- Returns:
- an input stream that reads from this open connection.
- Throws:
java.io.IOException- if an I/O error occurs while creating the input stream.- See Also:
URLConnection.getInputStream()
-
getHeaderField
public java.lang.String getHeaderField(java.lang.String name)
- Specified by:
getHeaderFieldin interfaceHttpConnection- Parameters:
name- the name of a header field.- Returns:
- the value of the named header field, or
nullif there is no such field in the header. - See Also:
URLConnection.getHeaderField(String)
-
getContentLength
public int getContentLength()
- Specified by:
getContentLengthin interfaceHttpConnection- Returns:
- the content length of the resource that this connection's URL
references,
-1if the content length is not known, or if the content length is greater than Integer.MAX_VALUE. - See Also:
URLConnection.getContentLength()
-
setInstanceFollowRedirects
public void setInstanceFollowRedirects(boolean followRedirects)
- Specified by:
setInstanceFollowRedirectsin interfaceHttpConnection- Parameters:
followRedirects- abooleanindicating whether or not to follow HTTP redirects.- See Also:
HttpURLConnection.setInstanceFollowRedirects(boolean)
-
setDoOutput
public void setDoOutput(boolean dooutput)
- Specified by:
setDoOutputin interfaceHttpConnection- Parameters:
dooutput- the new value.- See Also:
URLConnection.setDoOutput(boolean)
-
setFixedLengthStreamingMode
public void setFixedLengthStreamingMode(int contentLength)
- Specified by:
setFixedLengthStreamingModein interfaceHttpConnection- Parameters:
contentLength- The number of bytes which will be written to the OutputStream.- See Also:
HttpURLConnection.setFixedLengthStreamingMode(int)
-
getOutputStream
public java.io.OutputStream getOutputStream() throws java.io.IOException- Specified by:
getOutputStreamin interfaceHttpConnection- Returns:
- an output stream that writes to this connection.
- Throws:
java.io.IOException- See Also:
URLConnection.getOutputStream()
-
setChunkedStreamingMode
public void setChunkedStreamingMode(int chunklen)
- Specified by:
setChunkedStreamingModein interfaceHttpConnection- Parameters:
chunklen- The number of bytes to write in each chunk. If chunklen is less than or equal to zero, a default value will be used.- See Also:
HttpURLConnection.setChunkedStreamingMode(int)
-
getRequestMethod
public java.lang.String getRequestMethod()
- Specified by:
getRequestMethodin interfaceHttpConnection- Returns:
- the HTTP request method
- See Also:
HttpURLConnection.getRequestMethod()
-
usingProxy
public boolean usingProxy()
- Specified by:
usingProxyin interfaceHttpConnection- Returns:
- a boolean indicating if the connection is using a proxy.
- See Also:
HttpURLConnection.usingProxy()
-
connect
public void connect() throws java.io.IOException- Specified by:
connectin interfaceHttpConnection- Throws:
java.io.IOException- See Also:
URLConnection.connect()
-
setHostnameVerifier
public void setHostnameVerifier(javax.net.ssl.HostnameVerifier hostnameverifier)
Description copied from interface:HttpConnectionSet theHostnameVerifierused during https communication- Specified by:
setHostnameVerifierin interfaceHttpConnection
-
configure
public void configure(javax.net.ssl.KeyManager[] km, javax.net.ssl.TrustManager[] tm, java.security.SecureRandom random) throws java.security.NoSuchAlgorithmException, java.security.KeyManagementExceptionDescription copied from interface:HttpConnectionConfigure the connection so that it can be used for https communication.- Specified by:
configurein interfaceHttpConnection- Parameters:
km- the keymanager managing the key material used to authenticate the local SSLSocket to its peertm- the trustmanager responsible for managing the trust material that is used when making trust decisions, and for deciding whether credentials presented by a peer should be accepted.random- the source of randomness for this generator or null. SeeSSLContext.init(KeyManager[], TrustManager[], SecureRandom)- Throws:
java.security.NoSuchAlgorithmExceptionjava.security.KeyManagementException
-
-