diff --git a/internal/httpd/api_maintenance.go b/internal/httpd/api_maintenance.go index b8db1b3d..45939176 100644 --- a/internal/httpd/api_maintenance.go +++ b/internal/httpd/api_maintenance.go @@ -160,7 +160,7 @@ func loadData(w http.ResponseWriter, r *http.Request) { } fi, err := os.Stat(inputFile) if err != nil { - sendAPIResponse(w, r, err, "", getRespStatus(err)) + sendAPIResponse(w, r, fmt.Errorf("invalid input_file %q", inputFile), "", http.StatusBadRequest) return } if fi.Size() > MaxRestoreSize { @@ -171,7 +171,7 @@ func loadData(w http.ResponseWriter, r *http.Request) { content, err := os.ReadFile(inputFile) if err != nil { - sendAPIResponse(w, r, err, "", getRespStatus(err)) + sendAPIResponse(w, r, fmt.Errorf("invalid input_file %q", inputFile), "", http.StatusBadRequest) return } if err := restoreBackup(content, inputFile, scanQuota, mode, claims.Username, util.GetIPFromRemoteAddress(r.RemoteAddr), claims.Role); err != nil { @@ -184,7 +184,7 @@ func loadData(w http.ResponseWriter, r *http.Request) { func restoreBackup(content []byte, inputFile string, scanQuota, mode int, executor, ipAddress, role string) error { dump, err := dataprovider.ParseDumpData(content) if err != nil { - return util.NewValidationError(fmt.Sprintf("unable to parse backup content: %v", err)) + return util.NewValidationError(fmt.Sprintf("invalid input_file %q", inputFile)) } if err = RestoreConfigs(dump.Configs, mode, executor, ipAddress, role); err != nil { diff --git a/internal/httpd/httpd_test.go b/internal/httpd/httpd_test.go index ad6b1c8e..4d9ed093 100644 --- a/internal/httpd/httpd_test.go +++ b/internal/httpd/httpd_test.go @@ -7941,7 +7941,7 @@ func TestLoaddata(t *testing.T) { if runtime.GOOS != osWindows { err = os.Chmod(backupFilePath, 0111) assert.NoError(t, err) - _, _, err = httpdtest.Loaddata(backupFilePath, "1", "", http.StatusForbidden) + _, _, err = httpdtest.Loaddata(backupFilePath, "1", "", http.StatusBadRequest) assert.NoError(t, err) err = os.Chmod(backupFilePath, 0644) assert.NoError(t, err)