Add support for filesystem caching, closes #993

This commit is contained in:
Dane Everitt 2018-03-01 18:46:59 -06:00
parent ab2973c4d1
commit 838b9a9093
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
4 changed files with 5 additions and 11 deletions

View file

@ -22,6 +22,7 @@ class AppSettingsCommand extends Command
const ALLOWED_CACHE_DRIVERS = [
'redis' => 'Redis (recommended)',
'memcached' => 'Memcached',
'file' => 'Filesystem',
];
const ALLOWED_SESSION_DRIVERS = [

View file

@ -366,7 +366,7 @@ class NodesController extends Controller
public function setToken(Node $node)
{
$token = bin2hex(random_bytes(16));
$this->cache->tags(['Node:Configuration'])->put($token, $node->id, 5);
$this->cache->put('Node:Configuration:' . $token, $node->id, 5);
return response()->json(['token' => $token]);
}

View file

@ -1,11 +1,4 @@
<?php
/**
* Pterodactyl - Panel
* Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>.
*
* This software is licensed under the terms of the MIT license.
* https://opensource.org/licenses/MIT
*/
namespace Pterodactyl\Http\Controllers\Daemon;
@ -25,7 +18,7 @@ class ActionController extends Controller
*/
public function authenticateDownload(Request $request)
{
$download = Cache::tags(['Server:Downloads'])->pull($request->input('token'));
$download = Cache::pull('Server:Downloads:' . $request->input('token'));
if (is_null($download)) {
return response()->json([
@ -78,7 +71,7 @@ class ActionController extends Controller
*/
public function configuration(Request $request, $token)
{
$nodeId = Cache::tags(['Node:Configuration'])->pull($token);
$nodeId = Cache::pull('Node:Configuration:' . $token);
if (is_null($nodeId)) {
return response()->json(['error' => 'token_invalid'], 403);
}

View file

@ -48,7 +48,7 @@ class DownloadController extends Controller
$token = str_random(40);
$node = $server->getRelation('node');
$this->cache->tags(['Server:Downloads'])->put($token, ['server' => $server->uuid, 'path' => $file], 5);
$this->cache->put('Server:Downloads:' . $token, ['server' => $server->uuid, 'path' => $file], 5);
return redirect(sprintf('%s://%s:%s/v1/server/file/download/%s', $node->scheme, $node->fqdn, $node->daemonListen, $token));
}