Files
Flowise/packages/server/src/middlewares/errors/index.ts
T
Henry Heng 5a37227d14 Chore/refractor (#4454)
* markdown files and env examples cleanup

* components update

* update jsonlines description

* server refractor

* update telemetry

* add execute custom node

* add ui refractor

* add username and password authenticate

* correctly retrieve past images in agentflowv2

* disable e2e temporarily

* add existing username and password authenticate

* update migration to default workspace

* update todo

* blob storage migrating

* throw error on agent tool call error

* add missing execution import

* add referral

* chore: add error message when importData is undefined

* migrate api keys to db

* fix: data too long for column executionData

* migrate api keys from json to db at init

* add info on account setup

* update docstore missing fields

---------

Co-authored-by: chungyau97 <chungyau97@gmail.com>
2025-05-27 07:29:42 +01:00

26 lines
1.1 KiB
TypeScript

import { NextFunction, Request, Response } from 'express'
import { StatusCodes } from 'http-status-codes'
import { InternalFlowiseError } from '../../errors/internalFlowiseError'
// we need eslint because we have to pass next arg for the error middleware
// eslint-disable-next-line
async function errorHandlerMiddleware(err: InternalFlowiseError, req: Request, res: Response, next: NextFunction) {
const statusCode = err.statusCode || StatusCodes.INTERNAL_SERVER_ERROR
if (err.message.includes('401 Incorrect API key provided'))
err.message = '401 Invalid model key or Incorrect local model configuration.'
let displayedError = {
statusCode,
success: false,
message: err.message,
// Provide error stack trace only in development
stack: process.env.NODE_ENV === 'development' ? err.stack : {}
}
if (!req.body || !req.body.streaming || req.body.streaming === 'false') {
res.setHeader('Content-Type', 'application/json')
res.status(displayedError.statusCode).json(displayedError)
}
}
export default errorHandlerMiddleware