private TransportsConfiguration buildDefaultTransportConfig() { TransportsConfiguration transportsConfiguration = new TransportsConfiguration(); SenderConfiguration httpSender = new SenderConfiguration("http-sender"); SenderConfiguration httpsSender = new SenderConfiguration("https-sender"); httpsSender.setScheme("https"); TransportProperty latencyMetrics = new TransportProperty(); latencyMetrics.setName("latency.metrics.enabled"); latencyMetrics.setValue(true); TransportProperty serverSocketTimeout = new TransportProperty(); serverSocketTimeout.setName("server.bootstrap.socket.timeout"); serverSocketTimeout.setValue(60); TransportProperty clientSocketTimeout = new TransportProperty(); clientSocketTimeout.setName("client.bootstrap.socket.timeout"); clientSocketTimeout.setValue(60); Set<SenderConfiguration> senderConfigurationSet = new HashSet<>(); senderConfigurationSet.add(httpSender); senderConfigurationSet.add(httpsSender); transportsConfiguration.setSenderConfigurations(senderConfigurationSet); Set<TransportProperty> transportPropertySet = new HashSet<>(); transportPropertySet.add(latencyMetrics); transportPropertySet.add(serverSocketTimeout); transportPropertySet.add(clientSocketTimeout); transportsConfiguration.setTransportProperties(transportPropertySet); return transportsConfiguration; }
private SenderConfiguration populateSenderConfigurationOptions(Struct clientEndpointConfig, String scheme) { SenderConfiguration senderConfiguration = new SenderConfiguration(); senderConfiguration.setScheme(scheme); Struct secureSocket = clientEndpointConfig.getStructField(ENDPOINT_CONFIG_SECURE_SOCKET); if (secureSocket != null) { HttpUtil.populateSSLConfiguration(senderConfiguration, secureSocket); } else { HttpUtil.setDefaultTrustStore(senderConfiguration); } long timeoutMillis = clientEndpointConfig.getIntField(CLIENT_EP_ENDPOINT_TIMEOUT); if (timeoutMillis < 0 || !isInteger(timeoutMillis)) { throw new BallerinaConnectorException("invalid idle timeout: " + timeoutMillis); } senderConfiguration.setSocketIdleTimeout((int) timeoutMillis); return senderConfiguration; }