kequapp
Version:
A minimal, zero-magic Node web framework built on native APIs
27 lines (26 loc) • 660 B
JavaScript
import Ex from "../built-in/tools/ex.js";
import { createRenderer } from "../router/modules.js";
export default createRenderer({
contentType: 'text/*',
action(payload, { req, res }) {
const text = generateText(payload);
res.setHeader('Content-Length', Buffer.byteLength(text));
if (req.method === 'HEAD') {
res.end();
}
else {
res.end(text);
}
},
});
function generateText(payload) {
try {
return String(payload);
}
catch (error) {
throw Ex.InternalServerError('Invalid text response', {
payload,
error,
});
}
}