Add server-side tus delete handler
This commit is contained in:
parent
e34c1d5845
commit
e48235e395
@ -200,35 +200,14 @@ function calcProgress(filePath: string) {
|
||||
fileData.lastProgressTimestamp = Date.now();
|
||||
}
|
||||
|
||||
export async function abortAllUploads() {
|
||||
const deletePromises = [];
|
||||
|
||||
export function abortAllUploads() {
|
||||
for (const filePath in CURRENT_UPLOAD_LIST) {
|
||||
if (CURRENT_UPLOAD_LIST[filePath].interval) {
|
||||
clearInterval(CURRENT_UPLOAD_LIST[filePath].interval);
|
||||
}
|
||||
if (CURRENT_UPLOAD_LIST[filePath].upload) {
|
||||
//setting to false since the current tus method tries to delete against a non-existent endpoint
|
||||
CURRENT_UPLOAD_LIST[filePath].upload.abort(false); //TODO figure out how to do this properly through tus
|
||||
CURRENT_UPLOAD_LIST[filePath].upload.abort(true);
|
||||
}
|
||||
|
||||
// Make a DELETE request to remove the file from the server
|
||||
// TODO figure out how to do this properly through tus
|
||||
const deleteUrl = `${baseURL}/api/resources/${filePath}`;
|
||||
const deletePromise = fetchURL(deleteUrl, {
|
||||
method: "DELETE"
|
||||
}).then(response => {
|
||||
if (response.status !== 200) {
|
||||
console.error(`Failed to delete file: ${response.status} ${response.statusText}`);
|
||||
}
|
||||
}).catch(error => {
|
||||
console.error(`Error deleting file: ${error.message}`);
|
||||
});
|
||||
|
||||
deletePromises.push(deletePromise);
|
||||
delete CURRENT_UPLOAD_LIST[filePath];
|
||||
}
|
||||
|
||||
await Promise.all(deletePromises);
|
||||
}
|
||||
|
||||
|
||||
@ -69,6 +69,7 @@ func NewHandler(
|
||||
api.PathPrefix("/tus").Handler(monkey(tusPostHandler(), "/api/tus")).Methods("POST")
|
||||
api.PathPrefix("/tus").Handler(monkey(tusHeadHandler(), "/api/tus")).Methods("HEAD", "GET")
|
||||
api.PathPrefix("/tus").Handler(monkey(tusPatchHandler(), "/api/tus")).Methods("PATCH")
|
||||
api.PathPrefix("/tus").Handler(monkey(resourceDeleteHandler(fileCache), "/api/tus")).Methods("DELETE")
|
||||
|
||||
api.PathPrefix("/usage").Handler(monkey(diskUsage, "/api/usage")).Methods("GET")
|
||||
|
||||
|
||||
@ -87,7 +87,7 @@ func resourceDeleteHandler(fileCache FileCache) handleFunc {
|
||||
return errToStatus(err), err
|
||||
}
|
||||
|
||||
return http.StatusOK, nil
|
||||
return http.StatusNoContent, nil
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user