Stirling-PDF/server-node/src/utils/endpoint-utils.ts

30 lines
868 B
TypeScript
Raw Normal View History

2023-11-12 14:57:53 +01:00
import { Response } from 'express';
import { PdfFile } from '@stirling-pdf/shared-operations/wrappers/PdfFile'
2023-11-12 14:57:53 +01:00
export async function respondWithPdfFile(res: Response, file: PdfFile): Promise<void> {
const byteFile = await file.convertToByteArrayFile();
res.writeHead(200, {
'Content-Type': "application/pdf",
2023-11-12 14:57:53 +01:00
'Content-disposition': 'attachment;filename=' + byteFile.filename,
'Content-Length': byteFile.byteArray?.length
});
2023-11-12 14:57:53 +01:00
res.end(byteFile.byteArray)
}
export function response_mustHaveExactlyOneFile(res: Response): void {
res.status(400).send([
{
"message": "file is required",
"path": [
"pdfFile"
],
"type": "file",
"context": {
"label": "pdfFile",
"key": "pdfFile"
}
}
]);
}