diff --git a/scripts/start-webdav.cmd b/scripts/start-webdav.cmd index 25ee5ed..e71ff28 100644 --- a/scripts/start-webdav.cmd +++ b/scripts/start-webdav.cmd @@ -5,6 +5,17 @@ REM Pfad: C:\Pfad\zu\internxt-webdav\scripts\start-webdav.cmd cd /d "%~dp0.." +REM .env und Token pruefen +if not exist .env ( + echo FEHLER: .env fehlt. Bitte von .env.example kopieren und INXT_TOKEN eintragen. + exit /b 1 +) +findstr /B "INXT_TOKEN=" .env 2>nul | findstr "INXT_TOKEN=." > nul 2>&1 +if %errorlevel% neq 0 ( + echo FEHLER: INXT_TOKEN fehlt oder leer in .env. Token abgelaufen? npm run token-refresh ausfuehren. + exit /b 1 +) + REM Pruefen ob Server bereits laeuft (Port 3005) netstat -an | findstr ":3005.*LISTENING" > nul 2>&1 if %errorlevel% equ 0 ( @@ -15,7 +26,18 @@ if %errorlevel% equ 0 ( echo Starte WebDAV-Server... start /B node src/server.js > nul 2>&1 -REM Warten bis Server bereit ist -timeout /t 5 /nobreak > nul -echo WebDAV-Server gestartet. -exit /b 0 +REM Warten und pruefen ob Server antwortet (OPTIONS braucht keine Auth) +set RETRIES=0 +:wait +timeout /t 2 /nobreak > nul +powershell -NoProfile -Command "try { (Invoke-WebRequest -Uri http://127.0.0.1:3005/ -Method OPTIONS -UseBasicParsing -TimeoutSec 2).StatusCode -eq 200 } catch { exit 1 }" > nul 2>&1 +if %errorlevel% equ 0 ( + echo WebDAV-Server gestartet. + exit /b 0 +) +set /a RETRIES+=1 +if %RETRIES% geq 5 ( + echo FEHLER: Server antwortet nicht. Token pruefen: npm run token-test + exit /b 1 +) +goto wait