public function indexAction()
 {
     $id = $this->params()->fromQuery('id', null);
     $token = $this->params()->fromQuery('token', null);
     if (!$id) {
         return new JsonModel(['status' => 0, 'errors' => ['You must supply the image id']]);
     }
     if (!$token) {
         return new JsonModel(['status' => 0, 'errors' => ['You must supply the access token']]);
     }
     /** @var Upload $upload */
     $upload = Upload::where('access_token', '=', $token)->where('id', '=', $id)->where('access_token_expiration', '>=', time())->first();
     if (!$upload) {
         return new JsonModel(['status' => 0, 'errors' => ['The request has expired or invalid upload id requested']]);
     }
     // get image content
     $response = $this->getResponse();
     $response->setContent($upload->content);
     $response->getHeaders()->addHeaderLine('Content-Type', $upload->headers)->addHeaderLine('Content-Length', mb_strlen($upload->content));
     return $response;
 }