import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.client.api.ContentResponse;
import org.eclipse.jetty.client.api.Request;
import org.eclipse.jetty.client.util.BytesContentProvider;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
public class JettyExtraExample {
public static void main(String[] args) {
HttpClient httpClient = new HttpClient();
try {
httpClient.start();
Request request = httpClient.newRequest("https://example.com")
.method("GET")
.timeout(3000);
CompletableFuture<ContentResponse> futureResponse = request.sendAsync();
futureResponse.thenAccept(response -> {
System.out.println("Response status: " + response.getStatus());
System.out.println("Response content: " + response.getContentAsString());
} catch (Exception e) {
e.printStackTrace();
} finally {
httpClient.stop();
}
}
}
httpClient.setConnectTimeout(5000);
httpClient.setIdleTimeout(10000);
httpClient.setMaxConnectionsPerDestination(10);
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, null, null);
SslContextFactory sslContextFactory = new SslContextFactory.Client();
sslContextFactory.setSslContext(sslContext);
httpClient.setSslContextFactory(sslContextFactory);