[bugfix] Wrap media in read closer (#941)

* use readcloser for content.Content

* call media postdata function no matter what

* return a readcloser from data func

* tidy of logic of readertostore

* fix whoopsie
This commit is contained in:
tobi
2022-11-03 15:03:12 +01:00
committed by GitHub
parent bd05040133
commit 1dfa7fe0d5
15 changed files with 88 additions and 92 deletions

View File

@ -20,7 +20,6 @@ package fileserver
import (
"fmt"
"io"
"net/http"
"strconv"
@ -86,12 +85,10 @@ func (m *FileServer) ServeFile(c *gin.Context) {
}
defer func() {
// if the content is a ReadCloser (ie., it's streamed from storage), close it when we're done
// close content when we're done
if content.Content != nil {
if closer, ok := content.Content.(io.ReadCloser); ok {
if err := closer.Close(); err != nil {
log.Errorf("ServeFile: error closing readcloser: %s", err)
}
if err := content.Content.Close(); err != nil {
log.Errorf("ServeFile: error closing readcloser: %s", err)
}
}
}()