improve logging
This commit is contained in:
parent
3ae79e57c8
commit
6969df8b39
|
@ -1,6 +1,9 @@
|
||||||
import { FILE_TYPE } from 'constants/file';
|
import { FILE_TYPE } from 'constants/file';
|
||||||
import { ElectronFile, FileTypeInfo } from 'types/upload';
|
import { ElectronFile, FileTypeInfo } from 'types/upload';
|
||||||
import { FILE_TYPE_LIB_MISSED_FORMATS } from 'constants/upload';
|
import {
|
||||||
|
FILE_TYPE_LIB_MISSED_FORMATS,
|
||||||
|
KNOWN_NON_MEDIA_FORMATS,
|
||||||
|
} from 'constants/upload';
|
||||||
import { CustomError } from 'utils/error';
|
import { CustomError } from 'utils/error';
|
||||||
import { getFileExtension } from 'utils/file';
|
import { getFileExtension } from 'utils/file';
|
||||||
import { logError } from 'utils/sentry';
|
import { logError } from 'utils/sentry';
|
||||||
|
@ -27,7 +30,7 @@ export async function getFileType(
|
||||||
const mimTypeParts: string[] = typeResult.mime?.split('/');
|
const mimTypeParts: string[] = typeResult.mime?.split('/');
|
||||||
|
|
||||||
if (mimTypeParts?.length !== 2) {
|
if (mimTypeParts?.length !== 2) {
|
||||||
throw Error(CustomError.TYPE_DETECTION_FAILED);
|
throw Error(CustomError.INVALID_MIME_TYPE);
|
||||||
}
|
}
|
||||||
switch (mimTypeParts[0]) {
|
switch (mimTypeParts[0]) {
|
||||||
case TYPE_IMAGE:
|
case TYPE_IMAGE:
|
||||||
|
@ -52,9 +55,11 @@ export async function getFileType(
|
||||||
if (formatMissedByTypeDetection) {
|
if (formatMissedByTypeDetection) {
|
||||||
return formatMissedByTypeDetection;
|
return formatMissedByTypeDetection;
|
||||||
}
|
}
|
||||||
logError(e, CustomError.TYPE_DETECTION_FAILED, {
|
if (!KNOWN_NON_MEDIA_FORMATS.includes(fileFormat)) {
|
||||||
fileFormat,
|
logError(e, 'type detection failed', {
|
||||||
});
|
fileFormat,
|
||||||
|
});
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
fileType: FILE_TYPE.OTHERS,
|
fileType: FILE_TYPE.OTHERS,
|
||||||
exactType: fileFormat,
|
exactType: fileFormat,
|
||||||
|
@ -81,15 +86,17 @@ async function getFileTypeFromBuffer(buffer: Uint8Array) {
|
||||||
try {
|
try {
|
||||||
const result = await FileType.fromBuffer(buffer);
|
const result = await FileType.fromBuffer(buffer);
|
||||||
if (!result.mime) {
|
if (!result.mime) {
|
||||||
logError(
|
let logableInfo = '';
|
||||||
Error('mimetype missing from file type result'),
|
try {
|
||||||
CustomError.TYPE_DETECTION_FAILED,
|
logableInfo = JSON.stringify(result);
|
||||||
{ result }
|
} catch (e) {
|
||||||
);
|
logableInfo = 'failed to stringify result';
|
||||||
throw Error(CustomError.TYPE_DETECTION_FAILED);
|
}
|
||||||
|
throw Error('mimetype missing from file type result' + logableInfo);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw Error(CustomError.TYPE_DETECTION_FAILED);
|
logError(e, 'getFileTypeFromBuffer failed');
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ export enum CustomError {
|
||||||
SUBSCRIPTION_EXPIRED = 'subscription expired',
|
SUBSCRIPTION_EXPIRED = 'subscription expired',
|
||||||
STORAGE_QUOTA_EXCEEDED = 'storage quota exceeded',
|
STORAGE_QUOTA_EXCEEDED = 'storage quota exceeded',
|
||||||
SESSION_EXPIRED = 'session expired',
|
SESSION_EXPIRED = 'session expired',
|
||||||
TYPE_DETECTION_FAILED = 'type detection failed',
|
INVALID_MIME_TYPE = 'invalid mime type',
|
||||||
SIGNUP_FAILED = 'signup failed',
|
SIGNUP_FAILED = 'signup failed',
|
||||||
FAV_COLLECTION_MISSING = 'favorite collection missing',
|
FAV_COLLECTION_MISSING = 'favorite collection missing',
|
||||||
INVALID_COLLECTION_OPERATION = 'invalid collection operation',
|
INVALID_COLLECTION_OPERATION = 'invalid collection operation',
|
||||||
|
|
Loading…
Reference in a new issue