add endpoint to ping server, and display log if connection fails
This commit is contained in:
+6
-1
@@ -21,7 +21,12 @@ UPLOAD_DIR = "/tmp/freqsplit"
|
|||||||
# Ensure the temp directory exists
|
# Ensure the temp directory exists
|
||||||
os.makedirs(UPLOAD_DIR, exist_ok=True)
|
os.makedirs(UPLOAD_DIR, exist_ok=True)
|
||||||
|
|
||||||
#
|
# Endpoint to ping server
|
||||||
|
@api_view(['GET'])
|
||||||
|
def ping(request):
|
||||||
|
"""Endpoint to ping the server"""
|
||||||
|
if (request):
|
||||||
|
return Response(status=status.HTTP_200_OK);
|
||||||
|
|
||||||
# Endpoint to upload audio and classify it to audio_class
|
# Endpoint to upload audio and classify it to audio_class
|
||||||
@api_view(['POST'])
|
@api_view(['POST'])
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ Including another URLconf
|
|||||||
"""
|
"""
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.urls import path
|
from django.urls import path
|
||||||
|
from api.views import ping
|
||||||
from api.views import upload_audio
|
from api.views import upload_audio
|
||||||
from api.views import normalize_audio
|
from api.views import normalize_audio
|
||||||
from api.views import trim_audio
|
from api.views import trim_audio
|
||||||
@@ -28,6 +29,7 @@ from api.views import cleanup
|
|||||||
from api.views import cleanup_zip
|
from api.views import cleanup_zip
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
|
path('api/ping', ping, name="ping"),
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
path('api/upload', upload_audio, name='upload_audio'),
|
path('api/upload', upload_audio, name='upload_audio'),
|
||||||
path('api/normalize', normalize_audio, name="normalize_audio"),
|
path('api/normalize', normalize_audio, name="normalize_audio"),
|
||||||
|
|||||||
@@ -27,18 +27,34 @@ function UploadPage() {
|
|||||||
const [isDragging, setIsDragging] = useState(false);
|
const [isDragging, setIsDragging] = useState(false);
|
||||||
const [fileError, setFileError] = useState("");
|
const [fileError, setFileError] = useState("");
|
||||||
const [upload, setUpload] = useState(false);
|
const [upload, setUpload] = useState(false);
|
||||||
|
const [inputEnabled, setInputEnabled] = useState(false);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTimeout(() => {
|
const startLogs = async () => {
|
||||||
setLogs([formatLogMessage("Initializing freqsplit")]);
|
setLogs([formatLogMessage("Initializing freqsplit")]);
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
setLogs((prevLogs) => [...prevLogs, formatLogMessage("Connecting to server")]);
|
setLogs((prevLogs) => [...prevLogs, formatLogMessage("Connecting to server")]);
|
||||||
|
|
||||||
|
// Send GET request to /api/ping
|
||||||
|
axios.get("/api/ping")
|
||||||
|
.then((ping_resp) => {
|
||||||
|
if (ping_resp.status === 200) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
setLogs((prevLogs) => [...prevLogs, formatLogMessage("Connection established successfully")]);
|
setLogs((prevLogs) => [...prevLogs, formatLogMessage("Connection established successfully")]);
|
||||||
},80)
|
setInputEnabled(true);
|
||||||
|
}, 80);
|
||||||
|
} else {
|
||||||
|
setLogs((prevLogs) => [...prevLogs, formatLogMessage("Failed to connect to server")]);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
setLogs((prevLogs) => [...prevLogs, formatLogMessage("Failed to connect to server")]);
|
||||||
|
});
|
||||||
}, 90);
|
}, 90);
|
||||||
}, 100);
|
};
|
||||||
|
|
||||||
|
startLogs();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {
|
const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {
|
||||||
@@ -173,6 +189,7 @@ function UploadPage() {
|
|||||||
style={{ display: "none" }}
|
style={{ display: "none" }}
|
||||||
onChange={handleFileChange}
|
onChange={handleFileChange}
|
||||||
accept="audio/*,video/*"
|
accept="audio/*,video/*"
|
||||||
|
disabled={!inputEnabled}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<CloudUploadIcon color="primary" sx={{ fontSize: 64, mb: 2 }} />
|
<CloudUploadIcon color="primary" sx={{ fontSize: 64, mb: 2 }} />
|
||||||
|
|||||||
Reference in New Issue
Block a user