Tmdb Client Error: {"success":false,"status_code":11,"status_message":"Internal error: Something went wrong, contact TMDb.","combined_credits":{"cast":[{"adult":false,"backdrop_path":"/dOqFKzcTRPOuAjBpNevHLODP5Zj.jpg","genre_ids":[12,14],"id":118153,"original_language":"ru","original_title":"Илья Муромец","overview":"Paralyzed since birth, Ilya can only watch helplessly as his village is plundered by barbarians. But when a mysterious traveler arrives with a magic elixir that restores him to full health, Ilya begins an adventure to protect the village and the royal family from harm.","popularity":3.062,"poster_path":"/qZzsVayqgMedY4KuUO9J58Pzklz.jpg","release_date":"1956-09-09","title":"The Sword and the Dragon","video":false,"vote_average":5.0,"vote_count":35,"character":"Tugar Dancer","credit_id":"5a348df80e0a264cbc1c40db","order":14,"media_type":"movie"}],"crew":[]}}
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'] ?? [];