public class TransportHttp extends HttpTransport implements WalkTransport, PackTransport
If the transport is using HTTP and the remote HTTP service is Git-aware (speaks the "smart-http protocol") this client will automatically take advantage of the additional Git-specific HTTP extensions. If the remote service does not support these extensions, the client will degrade to direct file fetching.
If the remote (server side) repository does not have the specialized Git support, object files are retrieved directly through standard HTTP GET (or binary FTP GET) requests. This make it easy to serve a Git repository through a standard web host provider that does not offer specific support for Git.
WalkFetchConnection
Transport.Operation
DEFAULT_FETCH_THIN, DEFAULT_PUSH_THIN, local, REFSPEC_PUSH_ALL, REFSPEC_TAGS, uri
Modifier and Type | Method and Description |
---|---|
void |
close()
Close any resources used by this transport.
|
protected HttpURLConnection |
httpOpen(String method,
URL u)
Open an HTTP connection.
|
FetchConnection |
openFetch()
Begins a new connection for fetching from the remote repository.
|
PushConnection |
openPush()
Begins a new connection for pushing into the remote repository.
|
void |
setUseSmartHttp(boolean on)
Toggle whether or not smart HTTP transport should be used.
|
applyConfig, fetch, findRemoteRefUpdatesFor, findRemoteRefUpdatesFor, getCredentialsProvider, getOptionReceivePack, getOptionUploadPack, getPackConfig, getTagOpt, getTimeout, getTransportProtocols, getURI, isCheckFetchedObjects, isDryRun, isFetchThin, isPushThin, isRemoveDeletedRefs, open, open, open, open, open, open, open, openAll, openAll, openAll, openAll, push, push, register, setCheckFetchedObjects, setCredentialsProvider, setDryRun, setFetchThin, setOptionReceivePack, setOptionUploadPack, setPackConfig, setPushThin, setRemoveDeletedRefs, setTagOpt, setTimeout, unregister
public void setUseSmartHttp(boolean on)
This flag exists primarily to support backwards compatibility testing within a testing framework, there is no need to modify it in most applications.
on
- if true
(default), smart HTTP is enabled.public FetchConnection openFetch() throws TransportException, NotSupportedException
Transport
If the transport has no local repository, the fetch connection can only be used for reading remote refs.
openFetch
in class Transport
TransportException
- the remote connection could not be established.NotSupportedException
- the implementation does not support fetching.public PushConnection openPush() throws NotSupportedException, TransportException
Transport
openPush
in class Transport
NotSupportedException
- the implementation does not support pushing.TransportException
- the remote connection could not be establishedpublic void close()
Transport
If the remote repository is contacted by a network socket this method must close that network socket, disconnecting the two peers. If the remote repository is actually local (same system) this method must close any open file handles used to read the "remote" repository.
protected HttpURLConnection httpOpen(String method, URL u) throws IOException
method
- u
- IOException
Copyright © 2013. All rights reserved.