package model; import org.apache.http.HttpEntity; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.IOException; public class HttpClient { private CloseableHttpClient httpClient; // Konstruktor domyślny, używa domyślnego klienta HTTP public HttpClient() { this.httpClient = HttpClients.createDefault(); } // Konstruktor umożliwiający ustawienie własnego klienta HTTP (do użycia w testach) public HttpClient(CloseableHttpClient httpClient) { this.httpClient = httpClient; } // Metoda umożliwiająca ustawienie własnego klienta HTTP (do użycia w testach) public void setHttpClient(CloseableHttpClient httpClient) { this.httpClient = httpClient; } public String executeGetRequest(String urlString) { // CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet request = new HttpGet(urlString); try (CloseableHttpResponse response = httpClient.execute(request)) { HttpEntity entity = response.getEntity(); if (entity != null) { return EntityUtils.toString(entity); } return ""; } catch (ClientProtocolException e) { throw new RuntimeException(e); } catch (IOException e) { throw new RuntimeException(e); } } }