server = $server; $this->setNode($this->server->node); return $this; } /** * Set the node model this request is stemming from. */ public function setNode(Node $node): self { $this->node = $node; return $this; } /** * Return an instance of the Guzzle HTTP Client to be used for requests. */ public function getHttpClient(array $headers = []): Client { Assert::isInstanceOf($this->node, Node::class); return new Client([ 'verify' => $this->app->environment('production'), 'base_uri' => $this->node->getConnectionAddress(), 'timeout' => config('pterodactyl.guzzle.timeout'), 'connect_timeout' => config('pterodactyl.guzzle.connect_timeout'), 'headers' => array_merge($headers, [ 'Authorization' => 'Bearer ' . $this->node->getDecryptedKey(), 'Accept' => 'application/json', 'Content-Type' => 'application/json', ]), ]); } }