logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: 9aba44ea79c4c1bd21e9232b65f3cf1a9736c6cc
parent: 6dcf96271ee5b81ecb910f80f8218bb2a9b1b404
Author: Renato "Lond" Cerqueira <renato@lond.com.br>
Date:   Thu,  8 Mar 2018 02:25:10 +0100

Rescue when there's no extension in the remotable (#6358)

* Rescue when there's no extension in the remotable
Sometimes the remotable is pointing to a directory with no file
extension. Maybe it should not be expecting to identify based on
extensions to begin with, but since it's the case, it should be ready
for it.

* Fix codeclimate issue

* Check if filename is nil instead of rescueing exception
Suggestion made in the PR

* Avoid concatenation issue if filename is nil
If filename is nil, extname was undefined

* Invert condition
Address PR comments

Diffstat:

Mapp/models/concerns/remotable.rb6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/app/models/concerns/remotable.rb b/app/models/concerns/remotable.rb @@ -28,7 +28,11 @@ module Remotable matches = response.headers['content-disposition']&.match(/filename="([^"]*)"/) filename = matches.nil? ? parsed_url.path.split('/').last : matches[1] basename = SecureRandom.hex(8) - extname = File.extname(filename) + extname = if filename.nil? + '' + else + File.extname(filename) + end send("#{attachment_name}=", StringIO.new(response.to_s)) send("#{attachment_name}_file_name=", basename + extname)