Merge pull request #62 from nokonoko/testing

fix error codes
This commit is contained in:
Eric Johansson (neku) 2020-11-18 15:06:53 +01:00 committed by GitHub
commit 6b29b776ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 50 additions and 25 deletions

View File

@ -130,8 +130,11 @@ document.addEventListener('DOMContentLoaded', function() {
} else if (respStatus === 413) {
link.textContent = 'File too big!';
url.appendChild(link);
} else if (respStatus === 415) {
link.textContent = 'Filetype not allowed!';
url.appendChild(link);
} else {
link.textContent = 'Filetype not allowed or server error!';
link.textContent = 'Server error!';
url.appendChild(link);
}
}

View File

@ -12,7 +12,7 @@ class Response
*
* Valid strings are 'csv', 'html', 'json' and 'text'.
*
* @var string $type Response type
* @var string Response type
*/
private $type;
@ -57,8 +57,9 @@ class Response
/**
* Routes error messages depending on response type.
*
* @param int $code HTTP status code number.
* @param int $desc Descriptive error message.
* @param int $code HTTP status code number
* @param int $desc descriptive error message
*
* @return void
*/
public function error($code, $desc)
@ -80,7 +81,7 @@ class Response
break;
}
http_response_code(500); // "500 Internal Server Error"
//http_response_code(500); // "500 Internal Server Error"
echo $response;
}
@ -88,6 +89,7 @@ class Response
* Routes success messages depending on response type.
*
* @param mixed[] $files
*
* @return void
*/
public function send($files)
@ -117,8 +119,10 @@ class Response
* Indicates with CSV body the request was invalid.
*
* @deprecated 2.1.0 Will be renamed to camelCase format.
* @param int $description Descriptive error message.
* @return string Error message in CSV format.
*
* @param int $description descriptive error message
*
* @return string error message in CSV format
*/
private static function csvError($description)
{
@ -129,8 +133,10 @@ class Response
* Indicates with CSV body the request was successful.
*
* @deprecated 2.1.0 Will be renamed to camelCase format.
*
* @param mixed[] $files
* @return string Success message in CSV format.
*
* @return string success message in CSV format
*/
private static function csvSuccess($files)
{
@ -149,9 +155,11 @@ class Response
* Indicates with HTML body the request was invalid.
*
* @deprecated 2.1.0 Will be renamed to camelCase format.
* @param int $code HTTP status code number.
* @param int $description Descriptive error message.
* @return string Error message in HTML format.
*
* @param int $code HTTP status code number
* @param int $description descriptive error message
*
* @return string error message in HTML format
*/
private static function htmlError($code, $description)
{
@ -162,15 +170,17 @@ class Response
* Indicates with HTML body the request was successful.
*
* @deprecated 2.1.0 Will be renamed to camelCase format.
*
* @param mixed[] $files
* @return string Success message in HTML format.
*
* @return string success message in HTML format
*/
private static function htmlSuccess($files)
{
$result = '';
foreach ($files as $file) {
$result .= '<a href="'.$file['url'].'">'.$file['url'].'</a><br>';
$result .= '<a href="'.$file['url'].'">'.$file['url'].'</a><br>';
}
return $result;
@ -180,41 +190,47 @@ class Response
* Indicates with JSON body the request was invalid.
*
* @deprecated 2.1.0 Will be renamed to camelCase format.
* @param int $code HTTP status code number.
* @param int $description Descriptive error message.
* @return string Error message in pretty-printed JSON format.
*
* @param int $code HTTP status code number
* @param int $description descriptive error message
*
* @return string error message in pretty-printed JSON format
*/
private static function jsonError($code, $description)
{
return json_encode(array(
return json_encode([
'success' => false,
'errorcode' => $code,
'description' => $description,
), JSON_PRETTY_PRINT);
], JSON_PRETTY_PRINT);
}
/**
* Indicates with JSON body the request was successful.
*
* @deprecated 2.1.0 Will be renamed to camelCase format.
*
* @param mixed[] $files
* @return string Success message in pretty-printed JSON format.
*
* @return string success message in pretty-printed JSON format
*/
private static function jsonSuccess($files)
{
return json_encode(array(
return json_encode([
'success' => true,
'files' => $files,
), JSON_PRETTY_PRINT);
], JSON_PRETTY_PRINT);
}
/**
* Indicates with plain text body the request was invalid.
*
* @deprecated 2.1.0 Will be renamed to camelCase format.
* @param int $code HTTP status code number.
* @param int $description Descriptive error message.
* @return string Error message in plain text format.
*
* @param int $code HTTP status code number
* @param int $description descriptive error message
*
* @return string error message in plain text format
*/
private static function textError($code, $description)
{
@ -225,8 +241,10 @@ class Response
* Indicates with plain text body the request was successful.
*
* @deprecated 2.1.0 Will be renamed to camelCase format.
*
* @param mixed[] $files
* @return string Success message in plain text format.
*
* @return string success message in plain text format
*/
private static function textSuccess($files)
{

View File

@ -56,12 +56,14 @@ function generateName($file)
//Check if mime is blacklisted
if (in_array($type_mime, unserialize(CONFIG_BLOCKED_MIME))) {
http_response_code(415);
throw new Exception('Filetype not allowed!');
exit(0);
}
//Check if EXT is blacklisted
if (in_array($ext, unserialize(CONFIG_BLOCKED_EXTENSIONS))) {
http_response_code(415);
throw new Exception('Filetype not allowed!');
exit(0);
}
@ -103,6 +105,7 @@ function uploadFile($file)
// Attempt to move it to the static directory
if (!move_uploaded_file($file->tempfile, $uploadFile)) {
http_response_code(500);
throw new Exception(
'Failed to move file to destination',
500
@ -111,6 +114,7 @@ function uploadFile($file)
// Need to change permissions for the new file to make it world readable
if (!chmod($uploadFile, 0644)) {
http_response_code(500);
throw new Exception(
'Failed to change file permissions',
500