Api.php 827 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace App\Utils;
  3. use App\Utils\Env;
  4. use WpOrg\Requests\Session;
  5. class Api
  6. {
  7. public static $headers = [];
  8. /*
  9. * Obtiene una instancia del cliente HTTP para la API.
  10. */
  11. public static function client()
  12. {
  13. $session = new Session(Url::build('api/'));
  14. $session->headers = array_merge($session->headers, self::$headers);
  15. // Establece opciones de configuración del cliente HTTP.
  16. $session->options['proxy'] = Env::get('APP_HTTP_PROXY');
  17. $session->options['timeout'] = 60 * 6;
  18. $session->options['connect_timeout'] = 60 * 6;
  19. return $session;
  20. }
  21. /*
  22. * Establece el token de autenticación.
  23. */
  24. public static function setAuth(?string $token = '')
  25. {
  26. self::$headers['Authorization'] = 'Bearer ' . $token;
  27. }
  28. }