Spaces:
Runtime error
Runtime error
File size: 1,171 Bytes
579f597 68fe061 579f597 7135436 579f597 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import { nanoid } from 'nanoid';
export const errorHandler = (err, req, res, next) => {
res.status(err?.code || err?.status || 500).json({ ...err, message: err?.message, });
}
export const setJioCopilotSessionCookie = async (req, res, next = () => { }) => {
let session = req?.cookies?.['__jc_session'];
if (session && (!session.startsWith('jc-') || session.length !== 33)) {
session = null;
}
if (!session) {
session = `jc-${nanoid()}-${encodeTimestampToBase36()}`;
const validity = 7 * 24 * 3600; // 7 days
const cookieOpts = {
domain: process.env.SPACE_HOST || `${'local.'}${'copilotz0.de'}`,
expires: new Date((Date.now() / 1000 + validity) * 1000),
httpOnly: true,
secure: false,
sameSite: 'Lax'
};
res.cookie('__jc_session', session, cookieOpts);
}
req.jio_copilot_anonymous_session = session;
// res.end()
next();
};
export const encodeTimestampToBase36 = (timestamp) => {
const currentTimestamp = timestamp || Date.now();
const base36Timestamp = currentTimestamp.toString(36);
return base36Timestamp;
};
|