* cleanup
This commit is contained in:
parent
23d72b566c
commit
40ac17d892
@ -27,7 +27,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$app->get('/', App\Action\HomePageAction::class, 'home');
|
$app->get('/', App\Action\HomePageAction::class, 'home');
|
||||||
$app->get('/api/ping', App\Action\PingAction::class, 'api.ping');
|
|
||||||
$app->get('/api/galleries', App\Action\ListGalleriesAction::class, 'api.galleries');
|
$app->get('/api/galleries', App\Action\ListGalleriesAction::class, 'api.galleries');
|
||||||
$app->get('/api/gallery/{slug}', App\Action\GetGalleryImagesAction::class, 'api.gallery');
|
$app->get('/api/gallery/{slug}', App\Action\GetGalleryImagesAction::class, 'api.gallery');
|
||||||
$app->get('/api/image/{slug}/{image}[/thumb]', App\Action\GetImageAction::class, 'api.image');
|
$app->get('/api/image/{slug}/{image}[/thumb]', App\Action\GetImageAction::class, 'api.image');
|
||||||
|
|||||||
@ -8,7 +8,7 @@ set('ssh_multiplexing', true);
|
|||||||
|
|
||||||
set('repository', 'ssh://gogs@gogs.ragnarok.yvan.hu:2206/yvan/gallery-api.git');
|
set('repository', 'ssh://gogs@gogs.ragnarok.yvan.hu:2206/yvan/gallery-api.git');
|
||||||
set('shared_dirs', [
|
set('shared_dirs', [
|
||||||
'vendor',
|
// 'vendor',
|
||||||
'data/galleries',
|
'data/galleries',
|
||||||
]);
|
]);
|
||||||
set('writable_dirs', []);
|
set('writable_dirs', []);
|
||||||
|
|||||||
@ -20,8 +20,6 @@ class GetGalleryImagesAction implements ServerMiddlewareInterface
|
|||||||
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
|
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
|
||||||
{
|
{
|
||||||
$slug = $request->getAttribute('slug', false);
|
$slug = $request->getAttribute('slug', false);
|
||||||
return new JsonResponse([
|
return new JsonResponse($this->galleryService->getGallery($slug));
|
||||||
'images' => $this->galleryService->getGallery($slug),
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,9 @@ use App\Service\GalleryService;
|
|||||||
use Interop\Http\ServerMiddleware\DelegateInterface;
|
use Interop\Http\ServerMiddleware\DelegateInterface;
|
||||||
use Interop\Http\ServerMiddleware\MiddlewareInterface as ServerMiddlewareInterface;
|
use Interop\Http\ServerMiddleware\MiddlewareInterface as ServerMiddlewareInterface;
|
||||||
use Psr\Http\Message\ServerRequestInterface;
|
use Psr\Http\Message\ServerRequestInterface;
|
||||||
|
use Zend\Diactoros\Response;
|
||||||
use Zend\Diactoros\Response\JsonResponse;
|
use Zend\Diactoros\Response\JsonResponse;
|
||||||
|
use Zend\Diactoros\Stream;
|
||||||
|
|
||||||
class GetImageAction implements ServerMiddlewareInterface
|
class GetImageAction implements ServerMiddlewareInterface
|
||||||
{
|
{
|
||||||
@ -20,8 +22,21 @@ class GetImageAction implements ServerMiddlewareInterface
|
|||||||
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
|
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
|
||||||
{
|
{
|
||||||
$slug = $request->getAttribute('slug', false);
|
$slug = $request->getAttribute('slug', false);
|
||||||
return new JsonResponse([
|
$image = $request->getAttribute('image', false);
|
||||||
'images' => $this->galleryService->getGallery($slug),
|
$thumb = $request->getAttribute('thumb', false);
|
||||||
]);
|
|
||||||
|
$imageFileName = $this->galleryService->getImage($slug, $image, $thumb);
|
||||||
|
$stream = new Stream(fopen($imageFileName, 'r'));
|
||||||
|
$response = new Response();
|
||||||
|
return $response
|
||||||
|
->withHeader('Content-Type', (new \finfo(FILEINFO_MIME))->file($imageFileName))
|
||||||
|
->withHeader('Content-Disposition', 'attachment; filename=' . basename($imageFileName))
|
||||||
|
->withHeader('Content-Transfer-Encoding', 'Binary')
|
||||||
|
->withHeader('Content-Description', 'File Transfer')
|
||||||
|
->withHeader('Pragma', 'public')
|
||||||
|
->withHeader('Expires', '0')
|
||||||
|
->withHeader('Cache-Control', 'must-revalidate')
|
||||||
|
->withBody($stream)
|
||||||
|
->withHeader('Content-Length', "{$stream->getSize()}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,8 +19,6 @@ class ListGalleriesAction implements ServerMiddlewareInterface
|
|||||||
|
|
||||||
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
|
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
|
||||||
{
|
{
|
||||||
return new JsonResponse([
|
return new JsonResponse($this->galleryService->listGalleries());
|
||||||
'galleries' => $this->galleryService->listGalleries()
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -69,7 +69,7 @@ class GalleryService
|
|||||||
? $galleryDir . $image
|
? $galleryDir . $image
|
||||||
: $this->getResizedImageName($galleryDir, $image, $size);
|
: $this->getResizedImageName($galleryDir, $image, $size);
|
||||||
|
|
||||||
return fopen($imageFileName, 'r');
|
return $imageFileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getResizedImageName($galleryDirectory, $imageName, $size)
|
protected function getResizedImageName($galleryDirectory, $imageName, $size)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user