media file: fix exception on empty files.

This may happen if a user uploads from a source that returns an error
HTTP response with no data.
This commit is contained in:
evazion
2020-06-22 16:59:28 -05:00
parent 8c6759bbd7
commit a6994cd4d7
4 changed files with 6 additions and 2 deletions

View File

@@ -7,7 +7,6 @@ require "danbooru/http/session"
module Danbooru
class Http
class DownloadError < StandardError; end
class FileTooLargeError < StandardError; end
DEFAULT_TIMEOUT = 10
@@ -111,7 +110,6 @@ module Danbooru
end
def download_response(response, file: Tempfile.new("danbooru-download-", binmode: true))
raise DownloadError, response if response.status != 200
raise FileTooLargeError, response if @max_size && response.content_length.to_i > @max_size
size = 0

View File

@@ -43,6 +43,8 @@ class MediaFile
else
:bin
end
rescue EOFError
:bin
end
def self.videos_enabled?