public class LfsConnectionFactory
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
private static class |
LfsConnectionFactory.AuthCache |
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
SCHEME_HTTPS |
private static java.lang.String |
SCHEME_SSH |
private static java.util.Map<java.lang.String,LfsConnectionFactory.AuthCache> |
sshAuthCache |
| Constructor and Description |
|---|
LfsConnectionFactory() |
| Modifier and Type | Method and Description |
|---|---|
private static java.lang.String |
discoverLfsUrl(Repository db,
java.lang.String purpose,
java.util.Map<java.lang.String,java.lang.String> additionalHeaders,
java.lang.String remoteUrl) |
private static java.lang.String |
extractProjectName(URIish u) |
static HttpConnection |
getLfsConnection(Repository db,
java.lang.String method,
java.lang.String purpose)
Determine URL of LFS server by looking into config parameters lfs.url,
lfs.[remote].url or remote.[remote].url.
|
static HttpConnection |
getLfsContentConnection(Repository repo,
Protocol.Action action,
java.lang.String method)
Create a connection for the specified
Protocol.Action. |
private static java.lang.String |
getLfsUrl(Repository db,
java.lang.String purpose,
java.util.Map<java.lang.String,java.lang.String> additionalHeaders) |
private static Protocol.ExpiringAction |
getSshAuthentication(Repository db,
java.lang.String purpose,
java.lang.String remoteUrl,
URIish u) |
private static java.lang.String |
runSshCommand(URIish sshUri,
FS fs,
java.lang.String command) |
static Protocol.Request |
toRequest(java.lang.String operation,
LfsPointer... resources) |
private static final java.lang.String SCHEME_HTTPS
private static final java.lang.String SCHEME_SSH
private static final java.util.Map<java.lang.String,LfsConnectionFactory.AuthCache> sshAuthCache
public static HttpConnection getLfsConnection(Repository db, java.lang.String method, java.lang.String purpose) throws java.io.IOException
db - the repository to work withmethod - the method (GET,PUT,...) of the request this connection will
be used forpurpose - the action, e.g. Protocol.OPERATION_DOWNLOADjava.io.IOExceptionprivate static java.lang.String getLfsUrl(Repository db, java.lang.String purpose, java.util.Map<java.lang.String,java.lang.String> additionalHeaders) throws LfsConfigInvalidException
LfsConfigInvalidExceptionprivate static java.lang.String discoverLfsUrl(Repository db, java.lang.String purpose, java.util.Map<java.lang.String,java.lang.String> additionalHeaders, java.lang.String remoteUrl)
private static Protocol.ExpiringAction getSshAuthentication(Repository db, java.lang.String purpose, java.lang.String remoteUrl, URIish u) throws java.io.IOException
java.io.IOException@NonNull public static HttpConnection getLfsContentConnection(Repository repo, Protocol.Action action, java.lang.String method) throws java.io.IOException
Protocol.Action.repo - the repo to fetch required configuration fromaction - the action for which to create a connectionmethod - the target method (GET or PUT)java.io.IOException - in case of any error.private static java.lang.String extractProjectName(URIish u)
private static java.lang.String runSshCommand(URIish sshUri, FS fs, java.lang.String command) throws java.io.IOException
java.io.IOExceptionpublic static Protocol.Request toRequest(java.lang.String operation, LfsPointer... resources)
operation - the operation to perform, e.g. Protocol.OPERATION_DOWNLOADresources - the LFS resources affected