diff --git a/api4/file.go b/api4/file.go index 0b43c0ec1e..216cac4de2 100644 --- a/api4/file.go +++ b/api4/file.go @@ -674,6 +674,7 @@ func getPublicFile(c *Context, w http.ResponseWriter, r *http.Request) { if err != nil { c.Err = err c.Err.StatusCode = http.StatusNotFound + return } defer fileReader.Close() diff --git a/api4/file_test.go b/api4/file_test.go index 9d3e739333..3cd3701471 100644 --- a/api4/file_test.go +++ b/api4/file_test.go @@ -980,5 +980,10 @@ func TestGetPublicFile(t *testing.T) { fileInfo, err := th.App.Srv().Store.FileInfo().Get(fileId) require.Nil(t, err) require.Nil(t, th.cleanupTestFile(fileInfo)) + th.cleanupTestFile(info) + link = th.App.GeneratePublicLink(Client.Url, info) + resp, err = http.Get(link) + require.Nil(t, err) + require.Equal(t, http.StatusNotFound, resp.StatusCode, "should've failed to get file after it is deleted") }