INNER CODE UNIT · TypeScript
isMobile
im4codes/imcodes · server/src/index.ts:437
const isMobile = /iphone|ipad|android|mobile/.test(ua);
const shareTicket = parseShareWsTicketClaims(payload, serverId);
if (shareTicket) {
const now = Date.now();
if (shareTicket.expiresAt <= now) {
socket.write(`HTTP/1.1 401 Unauthorized\r\nX-IMCodes-Share-Denial: ${SHARE_REASONS.EXPIRED}\r\n\r\n`);
socket.destroy();
return;
}
const coverage = await resolveShareCoverageFromDb({
db: env.DB,
serverId,
userId: shareTicket.sub,
target: shareTicket.target,
now,
});
if (!coverage) {
socket.write(`HTTP/1.1 403 Forbidden\r\nX-IMCodes-Share-Denial: ${SHARE_REASONS.REVOKED}\r\n\r\n`);