mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-30 22:02:25 -05:00 
			
		
		
		
	[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:
		
					parent
					
						
							
								bd05040133
							
						
					
				
			
			
				commit
				
					
						1dfa7fe0d5
					
				
			
		
					 15 changed files with 88 additions and 92 deletions
				
			
		|  | @ -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) | ||||
| 			} | ||||
| 		} | ||||
| 	}() | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue