Commit e31ae501 authored by SpinShare's avatar SpinShare

added failsafe to streamStatus if the twitch API acts up

parent 4cc20147
...@@ -37,6 +37,10 @@ class APIController extends AbstractController ...@@ -37,6 +37,10 @@ class APIController extends AbstractController
*/ */
public function streamStatus() public function streamStatus()
{ {
$data = [];
$successful = false;
try {
$client = HttpClient::create(); $client = HttpClient::create();
$apiAccessResponseRaw = $client->request('POST', 'https://id.twitch.tv/oauth2/token?client_id='.$_ENV['TWITCH_API_CLIENT_ID'].'&client_secret='.$_ENV['TWITCH_API_CLIENT_SECRET'].'&grant_type=client_credentials'); $apiAccessResponseRaw = $client->request('POST', 'https://id.twitch.tv/oauth2/token?client_id='.$_ENV['TWITCH_API_CLIENT_ID'].'&client_secret='.$_ENV['TWITCH_API_CLIENT_SECRET'].'&grant_type=client_credentials');
$apiAccessResponse = json_decode($apiAccessResponseRaw->getContent()); $apiAccessResponse = json_decode($apiAccessResponseRaw->getContent());
...@@ -51,6 +55,8 @@ class APIController extends AbstractController ...@@ -51,6 +55,8 @@ class APIController extends AbstractController
]); ]);
$apiResponse = json_decode($apiResponseRaw->getContent()); $apiResponse = json_decode($apiResponseRaw->getContent());
$successful = true;
if(count($apiResponse->data) != 0) { if(count($apiResponse->data) != 0) {
$data = [ $data = [
"title" => $apiResponse->data[0]->title, "title" => $apiResponse->data[0]->title,
...@@ -64,8 +70,12 @@ class APIController extends AbstractController ...@@ -64,8 +70,12 @@ class APIController extends AbstractController
"isLive" => false "isLive" => false
]; ];
} }
} catch(\Exception $e) {
$successful = false;
$data = [];
}
$response = new JsonResponse(['version' => $this->apiVersion, 'status' => 200, 'data' => $data]); $response = new JsonResponse(['version' => $this->apiVersion, 'status' => $successful ? 200 : 500, 'data' => $data]);
$response->headers->set('Access-Control-Allow-Origin', '*'); $response->headers->set('Access-Control-Allow-Origin', '*');
return $response; return $response;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment