Files
speckle-server/packages/server/modules/blobstorage/rest/busboy.ts
T
2025-03-05 15:20:12 +00:00

23 lines
716 B
TypeScript

import { BadRequestError } from '@/modules/shared/errors'
import { ensureError } from '@speckle/shared'
import Busboy from 'busboy'
import { Request } from 'express'
import { getFileSizeLimit } from '@/modules/blobstorage/services/management'
export const createBusboy = (req: Request) => {
let busboy: Busboy.Busboy
try {
// Busboy does some validation of user input (headers) on creation
busboy = Busboy({
headers: req.headers,
limits: { fileSize: getFileSizeLimit() }
})
return busboy
} catch (err) {
throw new BadRequestError(
err instanceof Error ? err.message : 'Error while uploading blob',
ensureError(err, 'Unknown error while uploading blob')
)
}
}