Bugfix/Correctly throw 401 error when unauthorized (#2626)

correctly throw 401 error when unauthorized
This commit is contained in:
Henry Heng
2024-06-12 19:10:42 +01:00
committed by GitHub
parent 5ba468b4cc
commit 3ab0d99711
4 changed files with 28 additions and 10 deletions
+8 -1
View File
@@ -55,7 +55,14 @@ const verifyApiKey = async (paramApiKey: string): Promise<string> => {
const dbResponse = 'OK'
return dbResponse
} catch (error) {
throw new InternalFlowiseError(StatusCodes.INTERNAL_SERVER_ERROR, `Error: apikeyService.verifyApiKey - ${getErrorMessage(error)}`)
if (error instanceof InternalFlowiseError && error.statusCode === StatusCodes.UNAUTHORIZED) {
throw error
} else {
throw new InternalFlowiseError(
StatusCodes.INTERNAL_SERVER_ERROR,
`Error: apikeyService.verifyApiKey - ${getErrorMessage(error)}`
)
}
}
}
@@ -236,10 +236,14 @@ const getSinglePublicChatflow = async (chatflowId: string): Promise<any> => {
}
throw new InternalFlowiseError(StatusCodes.NOT_FOUND, `Chatflow ${chatflowId} not found`)
} catch (error) {
throw new InternalFlowiseError(
StatusCodes.INTERNAL_SERVER_ERROR,
`Error: chatflowsService.getSinglePublicChatflow - ${getErrorMessage(error)}`
)
if (error instanceof InternalFlowiseError && error.statusCode === StatusCodes.UNAUTHORIZED) {
throw error
} else {
throw new InternalFlowiseError(
StatusCodes.INTERNAL_SERVER_ERROR,
`Error: chatflowsService.getSinglePublicChatflow - ${getErrorMessage(error)}`
)
}
}
}
+5 -1
View File
@@ -417,7 +417,11 @@ export const utilBuildChatflow = async (req: Request, socketIO?: Server, isInter
return result
} catch (e) {
logger.error('[server]: Error:', e)
throw new InternalFlowiseError(StatusCodes.INTERNAL_SERVER_ERROR, getErrorMessage(e))
if (e instanceof InternalFlowiseError && e.statusCode === StatusCodes.UNAUTHORIZED) {
throw e
} else {
throw new InternalFlowiseError(StatusCodes.INTERNAL_SERVER_ERROR, getErrorMessage(e))
}
}
}
+7 -4
View File
@@ -22,6 +22,7 @@ import { getRunningExpressApp } from '../utils/getRunningExpressApp'
import { UpsertHistory } from '../database/entities/UpsertHistory'
import { InternalFlowiseError } from '../errors/internalFlowiseError'
import { StatusCodes } from 'http-status-codes'
import { getErrorMessage } from '../errors/utils'
/**
* Upsert documents
@@ -163,10 +164,12 @@ export const upsertVector = async (req: Request, isInternal: boolean = false) =>
})
return upsertedResult['result'] ?? { result: 'Successfully Upserted' }
} catch (error) {
logger.error('[server]: Error:', error)
if (error instanceof Error) {
throw new InternalFlowiseError(StatusCodes.INTERNAL_SERVER_ERROR, error.message)
} catch (e) {
logger.error('[server]: Error:', e)
if (e instanceof InternalFlowiseError && e.statusCode === StatusCodes.UNAUTHORIZED) {
throw e
} else {
throw new InternalFlowiseError(StatusCodes.INTERNAL_SERVER_ERROR, getErrorMessage(e))
}
}
}