File size: 525 Bytes
e43a4a9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import { HttpError } from "../utils/httpError.js";
export function createMediaController({ mediaStore }) {
return function mediaController(req, res, next) {
try {
const media = mediaStore.get(req.params.mediaId);
if (!media) {
throw new HttpError(404, "Media file not found or expired.");
}
res.setHeader("content-type", media.mimeType);
res.setHeader("cache-control", "private, max-age=3600");
res.send(media.buffer);
} catch (error) {
next(error);
}
};
}
|