headers = [ 'trakt-api-version' => 2, 'trakt-api-key' => $config->get('trakt.app_id'), 'Authorization' => 'Bearer ' . $config->get('trakt.login.oauth.access_token'), ]; } public function request(array $headers = []): PendingRequest { return Http::withHeaders($this->headers + $headers)->baseUrl('https://api.trakt.tv'); } public function requestNoAuth(array $headers = []): PendingRequest { return Http::withHeaders(['trakt-api-version' => 2] + $headers)->baseUrl('https://api.trakt.tv'); } public function syncHistory(WatchData $data, ?OutputInterface $output = null): Response { $output?->writeln(sprintf('Submitting %s to trakt with headers %s', json_encode($data->structuredData), json_encode($this->headers))); $resp = $this->request()->post('/sync/history', $data->structuredData); $output?->writeln('Response (' . $resp->status() . '):' . PHP_EOL . json_encode($resp->json(), JSON_PRETTY_PRINT)); return $resp; } }