Tmdb Client Error: {"success":false,"status_code":11,"status_message":"Internal error: Something went wrong, contact TMDb.","combined_credits":{"cast":[{"adult":false,"backdrop_path":null,"genre_ids":[27,18,35,14,878],"id":1355574,"original_language":"pt","original_title":"Duas Luas","overview":"","popularity":2.08,"poster_path":"/q5PcFb0rUb8nWSkY5BmPUmysbpF.jpg","release_date":"2025-02-15","title":"Duas Luas","video":false,"vote_average":0.0,"vote_count":0,"character":"Nalu","credit_id":"66e22f3c791320cd95d43247","order":0,"media_type":"movie"},{"adult":false,"backdrop_path":null,"genre_ids":[18,35,16,10749,12],"id":1376639,"original_language":"pt","original_title":"A Odisseia de Joe Anne Glitter","overview":"","popularity":0.374,"poster_path":"/3Iy9ByWekoxctOQOFXpmo04gFF7.jpg","release_date":"2025-10-20","title":"A Odisseia de Joe Anne Glitter","video":false,"vote_average":0.0,"vote_count":0,"character":"Max LeBlanc (voice)","credit_id":"671b6911a4ac8a432c5c3472","order":3,"media_type":"movie"},{"adult":false,"backdrop_path":null,"genre_ids":[18,27,53],"id":1376865,"original_language":"pt","original_title":"Ecila. (54321)","overview":"","popularity":0.37,"poster_path":"/wBplYL7MHAI70rPyd7F8X2YIj3A.jpg","release_date":"2025-10-20","title":"Ecila. (54321)","video":false,"vote_average":0.0,"vote_count":0,"character":"Ecila","credit_id":"671b7eebb3d5cbb842f407de","order":0,"media_type":"movie"},{"adult":false,"backdrop_path":null,"genre_ids":[99,27,18],"id":1384353,"original_language":"pt","original_title":"Lua Nova: Um Portal para Duas Luas","overview":"","popularity":16.115,"poster_path":null,"release_date":"2024-11-25","title":"Lua Nova: Um Portal para Duas Luas","video":false,"vote_average":0.0,"vote_count":0,"character":"Self / Nalu","credit_id":"672d6867be76b0644b3df1b5","order":1,"media_type":"movie"}],"crew":[{"adult":false,"backdrop_path":null,"genre_ids":[27,18,35,14,878],"id":1355574,"original_language":"pt","original_title":"Duas Luas","overview":"","popularity":2.08,"poster_path":"/q5PcFb0rUb8nWSkY5BmPUmysbpF.jpg","release_date":"2025-02-15","title":"Duas Luas","video":false,"vote_average":0.0,"vote_count":0,"credit_id":"66e231be46dfc4a513d43668","department":"Costume \u0026 Make-Up","job":"Makeup Artist","media_type":"movie"}]}}
96 'Content-Type' => 'application/json;charset=utf-8',
97 'Authorization' => sprintf('Bearer %s', Configurator::$instance->get('tmdb'))
98 ];
99
100 // Append language preference to headers to avoid adult content
101 $headers['Accept-Language'] = 'en-US'; // Example: Set language preference to English
102
103 // Make the GET request with headers
104 $resp = EasyCurl::setHeaders($headers)->get(...$args);
105
106 // Check if response status is not 200 OK
107 if ($resp->getStatus() != 200) {
108 throw new TmdbClientException('Tmdb Client Error: ' . $resp->getBody(), $resp->getStatus());
109 }
110
111 // Check for adult content in response (assuming TMDB API supports such filtering)
112 $jsonResponse = json_decode($resp->getBody(), true);
113
114
115 return $resp;
116 }
117
118
119 public function getGenre(): array
120 {
121 return $this->request('genre/' . $this->getType() . '/list')['genres'] ?? [];