Class HttpTransporterUtils
- java.lang.Object
-
- org.eclipse.aether.util.connector.transport.http.HttpTransporterUtils
-
public final class HttpTransporterUtils extends java.lang.Object
A utility class to read HTTP transport related configuration. It implements all HTTP transport related configurations fromConfigurationPropertiesand transport implementations are free to use those that are supported by themselves.- Since:
- 2.0.15
- See Also:
ConfigurationProperties,RepositorySystemSession.getConfigProperties()
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.net.URIgetBaseUri(org.eclipse.aether.repository.RemoteRepository repository)Shared code to create "baseURI" for most common HTTP remote repositories and all HTTP transports.static intgetHttpConnectionMaxTtlSeconds(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_CONNECTION_MAX_TTL.static intgetHttpConnectTimeout(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.CONNECT_TIMEOUT.static java.nio.charset.CharsetgetHttpCredentialsEncoding(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_CREDENTIAL_ENCODING.static java.util.Optional<java.lang.Boolean>getHttpExpectContinue(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_EXPECT_CONTINUE.static java.util.Map<java.lang.String,java.lang.String>getHttpHeaders(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_HEADERS.static java.util.Optional<java.net.InetAddress>getHttpLocalAddress(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_LOCAL_ADDRESS.static intgetHttpMaxConnectionsPerRoute(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_MAX_CONNECTIONS_PER_ROUTE.static intgetHttpRequestTimeout(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.REQUEST_TIMEOUT.static intgetHttpRetryHandlerCount(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_RETRY_HANDLER_COUNT.static longgetHttpRetryHandlerInterval(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_RETRY_HANDLER_INTERVAL.static longgetHttpRetryHandlerIntervalMax(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_RETRY_HANDLER_INTERVAL_MAX.static java.util.Set<java.lang.Integer>getHttpServiceUnavailableCodes(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_RETRY_HANDLER_SERVICE_UNAVAILABLE.static java.lang.StringgetHttpsSecurityMode(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTPS_SECURITY_MODE.static java.lang.StringgetUserAgent(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.USER_AGENT.static booleanisHttpPreemptiveAuth(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_PREEMPTIVE_AUTH.static booleanisHttpPreemptivePutAuth(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_PREEMPTIVE_PUT_AUTH.static booleanisHttpReuseConnections(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_REUSE_CONNECTIONS.static booleanisHttpSendRfc9457Accept(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_SEND_RFC9457_ACCEPT.static booleanisHttpSupportWebDav(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)Getter forConfigurationProperties.HTTP_SUPPORT_WEBDAV.
-
-
-
Method Detail
-
getUserAgent
public static java.lang.String getUserAgent(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.USER_AGENT.
-
getHttpsSecurityMode
public static java.lang.String getHttpsSecurityMode(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTPS_SECURITY_MODE.
-
getHttpConnectionMaxTtlSeconds
public static int getHttpConnectionMaxTtlSeconds(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_CONNECTION_MAX_TTL.
-
getHttpMaxConnectionsPerRoute
public static int getHttpMaxConnectionsPerRoute(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_MAX_CONNECTIONS_PER_ROUTE.
-
getHttpHeaders
public static java.util.Map<java.lang.String,java.lang.String> getHttpHeaders(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_HEADERS.
-
isHttpPreemptiveAuth
public static boolean isHttpPreemptiveAuth(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_PREEMPTIVE_AUTH.
-
isHttpPreemptivePutAuth
public static boolean isHttpPreemptivePutAuth(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_PREEMPTIVE_PUT_AUTH.
-
isHttpSupportWebDav
public static boolean isHttpSupportWebDav(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_SUPPORT_WEBDAV.
-
isHttpSendRfc9457Accept
public static boolean isHttpSendRfc9457Accept(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_SEND_RFC9457_ACCEPT.- Since:
- 2.0.19
-
getHttpCredentialsEncoding
public static java.nio.charset.Charset getHttpCredentialsEncoding(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_CREDENTIAL_ENCODING.
-
getHttpConnectTimeout
public static int getHttpConnectTimeout(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.CONNECT_TIMEOUT.
-
getHttpRequestTimeout
public static int getHttpRequestTimeout(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.REQUEST_TIMEOUT.
-
getHttpRetryHandlerCount
public static int getHttpRetryHandlerCount(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_RETRY_HANDLER_COUNT.
-
getHttpRetryHandlerInterval
public static long getHttpRetryHandlerInterval(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_RETRY_HANDLER_INTERVAL.
-
getHttpRetryHandlerIntervalMax
public static long getHttpRetryHandlerIntervalMax(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_RETRY_HANDLER_INTERVAL_MAX.
-
getHttpExpectContinue
public static java.util.Optional<java.lang.Boolean> getHttpExpectContinue(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_EXPECT_CONTINUE.
-
isHttpReuseConnections
public static boolean isHttpReuseConnections(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_REUSE_CONNECTIONS.
-
getHttpServiceUnavailableCodes
public static java.util.Set<java.lang.Integer> getHttpServiceUnavailableCodes(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_RETRY_HANDLER_SERVICE_UNAVAILABLE.
-
getHttpLocalAddress
public static java.util.Optional<java.net.InetAddress> getHttpLocalAddress(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.RemoteRepository repository)
Getter forConfigurationProperties.HTTP_LOCAL_ADDRESS.
-
getBaseUri
public static java.net.URI getBaseUri(org.eclipse.aether.repository.RemoteRepository repository) throws java.net.URISyntaxException
Shared code to create "baseURI" for most common HTTP remote repositories and all HTTP transports. Note: this method just applies common validation and adjustments to URI, but it does not enforce protocol to be HTTP/HTTPS!Validations and adjustments applied:
- URI string is parsed from
RemoteRepository.getUrl()returned string - URI must have parsable
URI.parseServerAuthority() - URI must not be opaque
- URI must not have fragment or query
- URI path is adjusted to end with
/(slash).
- Throws:
java.net.URISyntaxException- Since:
- 2.0.18
- URI string is parsed from
-
-