34 lines
1.2 KiB
PHP
34 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Pterodactyl\Repositories\Wings;
|
||
|
|
||
|
use GuzzleHttp\Client;
|
||
|
use Pterodactyl\Repositories\Daemon\BaseRepository;
|
||
|
use Pterodactyl\Contracts\Repository\Daemon\BaseRepositoryInterface;
|
||
|
|
||
|
abstract class BaseWingsRepository extends BaseRepository implements BaseRepositoryInterface
|
||
|
{
|
||
|
/**
|
||
|
* Return an instance of the Guzzle HTTP Client to be used for requests.
|
||
|
*
|
||
|
* @param array $headers
|
||
|
* @return \GuzzleHttp\Client
|
||
|
*/
|
||
|
public function getHttpClient(array $headers = []): Client
|
||
|
{
|
||
|
// We're just going to extend the parent client here since that logic is already quite
|
||
|
// sound and does everything we need it to aside from provide the correct base URL
|
||
|
// and authentication headers.
|
||
|
$client = parent::getHttpClient($headers);
|
||
|
|
||
|
return new Client(array_merge($client->getConfig(), [
|
||
|
'base_uri' => $this->getNode()->getConnectionAddress(),
|
||
|
'headers' => [
|
||
|
'Authorization' => 'Bearer ' . ($this->getToken() ?? $this->getNode()->daemonSecret),
|
||
|
'Accept' => 'application/json',
|
||
|
'Content-Type' => 'application/json',
|
||
|
],
|
||
|
]));
|
||
|
}
|
||
|
}
|