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":[10402,27,35,878],"id":453299,"original_language":"en","original_title":"Sublimate","overview":"A drug-addled techno producer invents a device that 'sends consciousness to the next level'. When experiments go horrifically wrong he takes extreme measures to find more 'volunteers'.","popularity":0.588,"poster_path":"/sVJZPjhvsqoBq9JoYBEo8xLaFaY.jpg","release_date":"2016-01-01","title":"Sublimate","video":false,"vote_average":3.3,"vote_count":3,"character":"Pickled Stevie","credit_id":"58f9e18f92514158ae0093a4","order":6,"media_type":"movie"},{"adult":false,"backdrop_path":"/unJtQc7lK2yxnHwRR2TBcnVjx80.jpg","genre_ids":[35,878,27],"id":532813,"original_language":"en","original_title":"Tone Death","overview":"Believing he's found the frequency that will free human consciousness, a drug-addled techno producer builds a machine that kills people with sound.","popularity":0.57,"poster_path":"/Ak9hs6yU4QksKPA2RmBAAwjRq0A.jpg","release_date":"2017-05-27","title":"Tone Death","video":false,"vote_average":2.7,"vote_count":3,"character":"Pickled Ste","credit_id":"5b3640500e0a26400d02bcb5","order":2,"media_type":"movie"}],"crew":[{"adult":false,"backdrop_path":"/unJtQc7lK2yxnHwRR2TBcnVjx80.jpg","genre_ids":[35,878,27],"id":532813,"original_language":"en","original_title":"Tone Death","overview":"Believing he's found the frequency that will free human consciousness, a drug-addled techno producer builds a machine that kills people with sound.","popularity":0.57,"poster_path":"/Ak9hs6yU4QksKPA2RmBAAwjRq0A.jpg","release_date":"2017-05-27","title":"Tone Death","video":false,"vote_average":2.7,"vote_count":3,"credit_id":"65dfd1409dee58017c7b36a1","department":"Crew","job":"Special Effects","media_type":"movie"},{"adult":false,"backdrop_path":null,"genre_ids":[10402,27,35,878],"id":453299,"original_language":"en","original_title":"Sublimate","overview":"A drug-addled techno producer invents a device that 'sends consciousness to the next level'. When experiments go horrifically wrong he takes extreme measures to find more 'volunteers'.","popularity":0.588,"poster_path":"/sVJZPjhvsqoBq9JoYBEo8xLaFaY.jpg","release_date":"2016-01-01","title":"Sublimate","video":false,"vote_average":3.3,"vote_count":3,"credit_id":"58f9e20ac3a3687c7300904e","department":"Crew","job":"Additional Writing","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'] ?? [];