parent
196d0b1338
commit
25f33bba56
10 changed files with 904 additions and 703 deletions
44
controllers/JsonController.php
Normal file
44
controllers/JsonController.php
Normal file
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
/**
|
||||
* JsonController class.
|
||||
*/
|
||||
|
||||
namespace Alltube\Controller;
|
||||
|
||||
use Alltube\Video;
|
||||
use Exception;
|
||||
use Slim\Http\Request;
|
||||
use Slim\Http\Response;
|
||||
|
||||
/**
|
||||
* Controller that returns JSON.
|
||||
*/
|
||||
class JsonController extends BaseController
|
||||
{
|
||||
/**
|
||||
* Return the JSON object generated by youtube-dl.
|
||||
*
|
||||
* @param Request $request PSR-7 request
|
||||
* @param Response $response PSR-7 response
|
||||
*
|
||||
* @return Response HTTP response
|
||||
*/
|
||||
public function json(Request $request, Response $response)
|
||||
{
|
||||
$url = $request->getQueryParam('url');
|
||||
|
||||
if (isset($url)) {
|
||||
try {
|
||||
$this->video = new Video($url, $this->getFormat($request), $this->getPassword($request));
|
||||
|
||||
return $response->withJson($this->video->getJson());
|
||||
} catch (Exception $e) {
|
||||
return $response->withJson(['error' => $e->getMessage()])
|
||||
->withStatus(500);
|
||||
}
|
||||
} else {
|
||||
return $response->withJson(['error' => 'You need to provide the url parameter'])
|
||||
->withStatus(400);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue