Files
2026-09-01 18:33:56 +00:00

52 lines
1.2 KiB
JavaScript

const createError = require('http-errors');
const tusResumableHeaderMissing = () => createError(412, 'Tus-Resumable Required')
const invalidHeaders = (headers) => (
createError(412, 'Precondition Failed', {
details: { headers },
})
)
const invalidHeader = (header, val) => (
createError(412, 'Precondition Failed', {
details: { headers: [[header, val]] },
})
)
const missingHeader = (header) => invalidHeader(header)
const entityTooLarge = (msg, props) => createError(413, msg, props)
const preconditionError = (msg, props) => createError(412, msg, props)
const offsetMismatch = (actual, expected) => (
createError(409, `Offset mismatch, got ${actual} but expected ${expected}`)
)
// For store implementations:
const unknownResource = (key) => (
createError(404, `Unknown resource: ${key}`)
)
const concurrentWrite = () => (
createError(409, 'Concurrent write detected')
)
const uploadLengthAlreadySet = () => (
createError(409, 'Upload length is already set')
)
module.exports = {
tusResumableHeaderMissing,
invalidHeaders,
invalidHeader,
missingHeader,
entityTooLarge,
preconditionError,
offsetMismatch,
unknownResource,
concurrentWrite,
uploadLengthAlreadySet,
}