import co.paralleluniverse.fibers.Fiber;
import co.paralleluniverse.strands.Strand;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.HttpEntity;
import org.apache.hc.core5.http.io.entity.EntityUtils;
import java.io.IOException;
public class HttpClientExample {
public static void main(String[] args) {
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
Fiber<String> fiber = new Fiber<>(() -> {
HttpGet httpGet = new HttpGet("https://www.example.com");
try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
HttpEntity entity = response.getEntity();
ContentType contentType = ContentType.getOrDefault(entity);
String content = EntityUtils.toString(entity, contentType.getCharset());
return content;
} catch (IOException e) {
e.printStackTrace();
}
return null;
});
fiber.start();
String result = fiber.get();
System.out.println("Response: " + result);
e.printStackTrace();
}
}
}
<dependencies>
<dependency>
<groupId>co.paralleluniverse</groupId>
<artifactId>comsat-httpclient</artifactId>
<version>0.7.0</version>
</dependency>
<dependency>
<groupId>org.apache.hc.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>