clientService->newClient(); $langResponse = $langClient->get('https://api.fyyd.de/0.2/feature/podcast/hot/languages'); $langJson = (array) json_decode((string) $langResponse->getBody(), true, flags: JSON_THROW_ON_ERROR); if (array_key_exists('data', $langJson) && is_array($langJson['data'])) { $language = $this->l10n->getUserLanguage($this->userSession->getUser()); $language = explode('_', $language); $language = count($language) > 1 ? $language[1] : $language[0]; $language = in_array($language, $langJson['data']) ? $language : 'en'; } } catch (\Exception $e) { } try { $podcastClient = $this->clientService->newClient(); $podcastReponse = $podcastClient->get('https://api.fyyd.de/0.2/feature/podcast/hot', [ 'query' => [ 'count' => $count, 'language' => $language, ], ]); $podcastJson = (array) json_decode((string) $podcastReponse->getBody(), true, flags: JSON_THROW_ON_ERROR); return new JSONResponse($podcastJson, $podcastReponse->getStatusCode()); } catch (\Exception $e) { return new JSONResponse([$e->getMessage()], Http::STATUS_INTERNAL_SERVER_ERROR); } } }