diff --git a/app/logical/downloads/rewrite_strategies/twitter.rb b/app/logical/downloads/rewrite_strategies/twitter.rb index 0bd456583..944efc061 100644 --- a/app/logical/downloads/rewrite_strategies/twitter.rb +++ b/app/logical/downloads/rewrite_strategies/twitter.rb @@ -3,19 +3,29 @@ module Downloads class Twitter < Base def rewrite(url, headers, data = {}) if url =~ %r!^https?://(?:mobile\.)?twitter\.com! - url, headers = rewrite_image_url(url, headers) + url, headers = rewrite_status_page(url, headers) + elsif url =~ %r{^https?://pbs\.twimg\.com} + url, headers = rewrite_direct_image_url(url, headers) end return [url, headers, data] end protected - def rewrite_image_url(url, headers) + def rewrite_status_page(url, headers) source = ::Sources::Strategies::Twitter.new(url) source.get url = source.image_url return [url, headers] end + + def rewrite_direct_image_url(url, headers) + if url =~ %r{^(https?://pbs\.twimg\.com/media/[^:]+)} + url = $1 + ":orig" + end + + return [url, headers] + end end end end