UNPKG

@homecheck/logger

Version:

A simple logger for Web, Node, Capacitor apps.

41 lines (40 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isOnline = isOnline; exports.checkServerReachable = checkServerReachable; function isOnline() { try { // 브라우저 환경에서는 navigator.onLine 사용 if (typeof navigator !== 'undefined' && 'onLine' in navigator) return navigator.onLine; // Node.js 환경에서는 항상 온라인으로 간주 return true; } catch (error) { return true; // 기본적으로 온라인으로 간주 } } async function checkServerReachable(url) { try { // 서버 연결 가능 여부 확인 const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), 5000); // 5초 타임아웃 const response = await fetch(url, { method: 'HEAD', signal: controller.signal, // 캐시 방지 cache: 'no-store', headers: { 'Cache-Control': 'no-cache' } }); clearTimeout(timeoutId); return response.ok; } catch (error) { if (!(error instanceof DOMException && error.name === 'AbortError')) { console.error(`[Logger] Failed to check server reachability: ${error}`); } return false; } }