Refactor controller

This commit is contained in:
Pierre Rudloff 2017-01-16 13:43:47 +01:00
parent 929123c08e
commit 5ce84badec

View file

@ -144,22 +144,15 @@ class FrontController
} }
/** /**
* Dislay information about the video. * Return the converted MP3 file
*
* @param Request $request PSR-7 request * @param Request $request PSR-7 request
* @param Response $response PSR-7 response * @param Response $response PSR-7 response
* * @param array $params GET query parameters
* @return Response HTTP response * @param string $password Video password
* @return Response
*/ */
public function video(Request $request, Response $response) private function getAudioResponse(Request $request, Response $response, array $params, $password = null)
{ {
$params = $request->getQueryParams();
if (isset($params['url'])) {
$password = $request->getParam('password');
if (isset($password)) {
$this->sessionSegment->setFlash($params['url'], $password);
}
if (isset($params['audio'])) {
try { try {
if ($this->config->stream) { if ($this->config->stream) {
return $this->getStream($params['url'], 'mp3', $response, $request, $password); return $this->getStream($params['url'], 'mp3', $response, $request, $password);
@ -185,7 +178,18 @@ class FrontController
return $response; return $response;
} }
} else { }
/**
* Return the video description page
* @param Request $request PSR-7 request
* @param Response $response PSR-7 response
* @param array $params GET query parameters
* @param string $password Video password
* @return Response
*/
private function getVideoResponse(Request $request, Response $response, array $params, $password = null)
{
try { try {
$video = $this->download->getJSON($params['url'], $this->defaultFormat, $password); $video = $this->download->getJSON($params['url'], $this->defaultFormat, $password);
} catch (PasswordException $e) { } catch (PasswordException $e) {
@ -209,6 +213,28 @@ class FrontController
] ]
); );
} }
/**
* Dislay information about the video.
*
* @param Request $request PSR-7 request
* @param Response $response PSR-7 response
*
* @return Response HTTP response
*/
public function video(Request $request, Response $response)
{
$params = $request->getQueryParams();
if (isset($params['url'])) {
$password = $request->getParam('password');
if (isset($password)) {
$this->sessionSegment->setFlash($params['url'], $password);
}
if (isset($params['audio'])) {
return $this->getAudioResponse($request, $response, $params, $password);
} else {
return $this->getVideoResponse($request, $response, $params, $password);
}
} else { } else {
return $response->withRedirect($this->container->get('router')->pathFor('index')); return $response->withRedirect($this->container->get('router')->pathFor('index'));
} }