/** * Create an SSL context creator that verifies server hostname but accepts all IP addresses. * * @param connection connection for which to create SSLContext. * @param dittoHeaders headers to write in Ditto runtime exceptions; {@code null} to write empty headers. * @return the SSL context creator. */ public static SSLContextCreator fromConnection(final Connection connection, @Nullable final DittoHeaders dittoHeaders) { final String trustedCertificates = connection.getTrustedCertificates().orElse(null); return of(trustedCertificates, dittoHeaders, connection.getHostname()); }
/** * Create an SSL context creator that verifies server hostname but accepts all IP addresses. * * @param connection connection for which to create SSLContext. * @param dittoHeaders headers to write in Ditto runtime exceptions; {@code null} to write empty headers. * @return the SSL context creator. */ public static SSLContextCreator fromConnection(final Connection connection, @Nullable final DittoHeaders dittoHeaders) { final String trustedCertificates = connection.getTrustedCertificates().orElse(null); return of(trustedCertificates, dittoHeaders, connection.getHostname()); }
private boolean canConnectViaSocket(final Connection connection) { return checkHostAndPortForAvailability(connection.getHostname(), connection.getPort()); }
private boolean canConnectViaSocket(final Connection connection) { return checkHostAndPortForAvailability(connection.getHostname(), connection.getPort()); }
public static String buildAmqpConnectionUriFromConnection(final Connection connection) { final String id = connection.getId(); final String username = connection.getUsername().orElse(null); final String password = connection.getPassword().orElse(null); final String protocol = connection.getProtocol(); final String hostname = connection.getHostname(); final int port = connection.getPort(); final boolean failoverEnabled = connection.isFailoverEnabled(); final Map<String, String> specificConfig = connection.getSpecificConfig(); final String baseUri = formatUri(protocol, hostname, port); final boolean anonymous = username == null || username.isEmpty() || password == null || password.isEmpty(); final List<String> parameters = new ArrayList<>(getAmqpParameters(anonymous, specificConfig)); final boolean isSecuredConnectionWithAcceptInvalidCertificates = isSecuredConnection(connection) && !connection.isValidateCertificates(); parameters.addAll(getTransportParameters(isSecuredConnectionWithAcceptInvalidCertificates, specificConfig)); final String nestedUri = baseUri + parameters.stream().collect(Collectors.joining("&", "?", "")); final List<String> globalParameters = new ArrayList<>(getJmsParameters(id, username, password, specificConfig)); final String connectionUri; if (failoverEnabled) { globalParameters.addAll(getFailoverParameters(specificConfig)); connectionUri = wrapWithFailOver(nestedUri) + globalParameters.stream().collect(Collectors.joining("&", "?", "")); } else { connectionUri = nestedUri + globalParameters.stream().collect(Collectors.joining("&", "&", "")); } LOGGER.debug("[{}] URI: {}", id, connectionUri); return connectionUri; }
public static String buildAmqpConnectionUriFromConnection(final Connection connection) { final String id = connection.getId(); final String username = connection.getUsername().orElse(null); final String password = connection.getPassword().orElse(null); final String protocol = connection.getProtocol(); final String hostname = connection.getHostname(); final int port = connection.getPort(); final boolean failoverEnabled = connection.isFailoverEnabled(); final Map<String, String> specificConfig = connection.getSpecificConfig(); final String baseUri = formatUri(protocol, hostname, port); final boolean anonymous = username == null || username.isEmpty() || password == null || password.isEmpty(); final List<String> parameters = new ArrayList<>(getAmqpParameters(anonymous, specificConfig)); final boolean isSecuredConnectionWithAcceptInvalidCertificates = isSecuredConnection(connection) && !connection.isValidateCertificates(); parameters.addAll(getTransportParameters(isSecuredConnectionWithAcceptInvalidCertificates, specificConfig)); final String nestedUri = baseUri + parameters.stream().collect(Collectors.joining("&", "?", "")); final List<String> globalParameters = new ArrayList<>(getJmsParameters(id, username, password, specificConfig)); final String connectionUri; if (failoverEnabled) { globalParameters.addAll(getFailoverParameters(specificConfig)); connectionUri = wrapWithFailOver(nestedUri) + globalParameters.stream().collect(Collectors.joining("&", "?", "")); } else { connectionUri = nestedUri + globalParameters.stream().collect(Collectors.joining("&", "&", "")); } LOGGER.debug("[{}] URI: {}", id, connectionUri); return connectionUri; }
private static ConnectionFailedException newConnectionFailedException(final Connection connection, final DittoHeaders dittoHeaders) { return ConnectionFailedException .newBuilder(connection.getId()) .dittoHeaders(dittoHeaders) .description("Could not establish a connection on '" + connection.getHostname() + ":" + connection.getPort() + "'. Make sure the " + "endpoint is reachable and that no firewall prevents the connection.") .build(); }
private static ConnectionFailedException newConnectionFailedException(final Connection connection, final DittoHeaders dittoHeaders) { return ConnectionFailedException .newBuilder(connection.getId()) .dittoHeaders(dittoHeaders) .description("Could not establish a connection on '" + connection.getHostname() + ":" + connection.getPort() + "'. Make sure the " + "endpoint is reachable and that no firewall prevents the connection.") .build(); }