src/Service/Api/NewsApiService.php line 33

Open in your IDE?
  1. <?php
  2. namespace App\Service\Api;
  3. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  4. use Symfony\Component\HttpClient\Exception\TransportException;
  5. use Symfony\Contracts\HttpClient\HttpClientInterface;
  6. class NewsApiService
  7. {
  8.     private HttpClientInterface $client;
  9.     private ParameterBagInterface $params;
  10.     public function __construct(
  11.         HttpClientInterface $client,
  12.         ParameterBagInterface $params
  13.     ) {
  14.         $this->client $client;
  15.         $this->params $params;
  16.     }
  17.     public function getNews(): array
  18.     {
  19.         $newsApiUrl =  $this->params->get('app.news_api_url');
  20.         $newsFromApi = [];
  21.         try {
  22.             $response $this->client->request('GET'$newsApiUrl, []);
  23.             $statusCode $response->getStatusCode();
  24.             if (isset($response) && $response && $statusCode != 200) {
  25.                 return $newsFromApi;
  26.             }
  27.             $content $response->getContent();
  28.             $content $response->toArray();
  29.             if (isset($response) && $response && $statusCode === 200) {
  30.                 $newsFromApi $content;
  31.             }
  32.         } catch (TransportException $exception) {
  33.             $newsFromApi = [];
  34.         }
  35.         return $newsFromApi;
  36.     }
  37. }