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":[18],"id":497824,"original_language":"en","original_title":"Con","overview":"Con Keogh, a successful film-maker and actor, has just completed treatment for alcohol abuse at a secret rehab. He has agreed to take part in a documentary directed by his first cousin about meeting his estranged Father after 25 years. But with emotions running high the documentary takes a few twists and turns.","popularity":0.055,"poster_path":"/xvLKSzPuvRT7KTLLzzDkr0sFouT.jpg","release_date":"2017-12-17","title":"Con","video":false,"vote_average":0.0,"vote_count":0,"character":"Con","credit_id":"5a57e5269251413af0006597","order":2,"media_type":"movie"},{"adult":false,"backdrop_path":"/7W6ORVDaSA6ASRPpugKgvOzARCV.jpg","genre_ids":[27,9648,53],"id":443272,"original_language":"en","original_title":"Brackenmore","overview":"The close-knit community of Brackenmore is harboring a secret. After the untimely death of an uncle she never knew she had, Kate (Sophie Hopkins) is forced to return to her ancestral home, a tiny rural village in the South of Ireland. Soon after her arrival she meets Tom (D.J. McGrath), a mysterious young local who helps her to rediscover her long-neglected roots and forget about the anxieties of her life in London. The longer Kate stays in Brackenmore, the more she begins to realize that the eccentricities of its self-protective residents, may be more ominous than she first thought and the secluded family estate is harboring a dark and ancient secret. From the opening scenes of a fateful car crash to the shocking ending Brackenmore weaves its ways under your skin shifting between classic horror to the mysteries of the occult. Cinematographer Justin McCarthy keeps a steady hand as he captures the silent fear that begins to grow as Hopkins uncovers the dark horror that is Brackenmore.","popularity":7.615,"poster_path":"/dvGq84y3fyPclYPt8poupy0T58X.jpg","release_date":"2017-08-11","title":"Brackenmore","video":false,"vote_average":4.0,"vote_count":8,"character":"John Duffy","credit_id":"5c0f02ad92514147aa0bed5f","order":3,"media_type":"movie"}],"crew":[{"adult":false,"backdrop_path":null,"genre_ids":[18],"id":497824,"original_language":"en","original_title":"Con","overview":"Con Keogh, a successful film-maker and actor, has just completed treatment for alcohol abuse at a secret rehab. He has agreed to take part in a documentary directed by his first cousin about meeting his estranged Father after 25 years. But with emotions running high the documentary takes a few twists and turns.","popularity":0.055,"poster_path":"/xvLKSzPuvRT7KTLLzzDkr0sFouT.jpg","release_date":"2017-12-17","title":"Con","video":false,"vote_average":0.0,"vote_count":0,"credit_id":"5a57e4ce0e0a2669cb006a6d","department":"Directing","job":"Director","media_type":"movie"},{"adult":false,"backdrop_path":null,"genre_ids":[18],"id":497824,"original_language":"en","original_title":"Con","overview":"Con Keogh, a successful film-maker and actor, has just completed treatment for alcohol abuse at a secret rehab. He has agreed to take part in a documentary directed by his first cousin about meeting his estranged Father after 25 years. But with emotions running high the documentary takes a few twists and turns.","popularity":0.055,"poster_path":"/xvLKSzPuvRT7KTLLzzDkr0sFouT.jpg","release_date":"2017-12-17","title":"Con","video":false,"vote_average":0.0,"vote_count":0,"credit_id":"5a57e4d50e0a2669ce00699d","department":"Writing","job":"Screenplay","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'] ?? [];