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`);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…