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 Response $response PSR-7 response
*
* @return Response HTTP response
* @param array $params GET query parameters
* @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 {
if ($this->config->stream) {
return $this->getStream($params['url'], 'mp3', $response, $request, $password);
@ -185,7 +178,18 @@ class FrontController
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 {
$video = $this->download->getJSON($params['url'], $this->defaultFormat, $password);
} 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 {
return $response->withRedirect($this->container->get('router')->pathFor('index'));
}