1
0
Fork 0
mirror of https://codeberg.org/demostf/api.git synced 2026-06-03 18:04:08 +02:00

explicit upload errors

This commit is contained in:
Robin Appelman 2020-11-28 19:42:08 +01:00
commit 8c80182ab1
3 changed files with 7 additions and 59 deletions

View file

@ -4,6 +4,7 @@ declare(strict_types=1);
namespace Demostf\API\Controllers;
use Demostf\API\Error\InvalidKeyException;
use Demostf\API\Providers\UploadProvider;
use Exception;
use Flight;
@ -31,18 +32,6 @@ class UploadController extends BaseController {
}
$demoFile = $demo['tmp_name'];
try {
$result = $this->uploadProvider->upload($key, $red, $blu, $name, $demoFile);
if ('Invalid key' === $result) {
Flight::response()->status(401)->write($result)->send();
} else {
echo $result;
}
} catch (Exception $e) {
Flight::response()
->status(500)
->write($e->getMessage())
->send();
}
echo $this->uploadProvider->upload($key, $red, $blu, $name, $demoFile);
}
}

View file

@ -11,6 +11,7 @@ use Demostf\API\Demo\DemoStore;
use Demostf\API\Demo\Header;
use Demostf\API\Demo\HeaderParser;
use Demostf\API\Demo\Parser;
use Demostf\API\Error\InvalidKeyException;
use Doctrine\DBAL\Connection;
use RandomLib\Generator;
@ -57,7 +58,7 @@ class UploadProvider extends BaseProvider {
public function upload(string $key, string $red, string $blu, string $name, string $demoFile): string {
$user = $this->userProvider->byKey($key);
if (!$user || ('' !== $this->uploadKey && $this->uploadKey !== $key)) {
return 'Invalid key';
throw new InvalidKeyException('Invalid key');
}
if (!mb_check_encoding($red, 'UTF-8')) {