mirror of
https://github.com/discourse/discourse.git
synced 2025-02-20 11:48:26 -06:00
Use FinalDestination
to ensure public redirects for onebox
This commit is contained in:
parent
9edc490d3f
commit
4c690f7089
@ -1,5 +1,6 @@
|
|||||||
require_dependency 'twitter_api'
|
require_dependency 'twitter_api'
|
||||||
|
|
||||||
Onebox.options = {
|
Onebox.options = {
|
||||||
twitter_client: TwitterApi
|
twitter_client: TwitterApi,
|
||||||
|
redirect_limit: 1
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
require_dependency "#{Rails.root}/lib/onebox/discourse_onebox_sanitize_config"
|
require_dependency "onebox/discourse_onebox_sanitize_config"
|
||||||
|
require_dependency 'final_destination'
|
||||||
|
|
||||||
Dir["#{Rails.root}/lib/onebox/engine/*_onebox.rb"].sort.each { |f| require f }
|
Dir["#{Rails.root}/lib/onebox/engine/*_onebox.rb"].sort.each { |f| require f }
|
||||||
|
|
||||||
module Oneboxer
|
module Oneboxer
|
||||||
@ -140,8 +142,9 @@ module Oneboxer
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.onebox_raw(url)
|
def self.onebox_raw(url)
|
||||||
|
|
||||||
Rails.cache.fetch(onebox_cache_key(url), expires_in: 1.day) do
|
Rails.cache.fetch(onebox_cache_key(url), expires_in: 1.day) do
|
||||||
uri = URI(url) rescue nil
|
uri = FinalDestination.new(url).resolve
|
||||||
return blank_onebox if uri.blank? || SiteSetting.onebox_domains_blacklist.include?(uri.hostname)
|
return blank_onebox if uri.blank? || SiteSetting.onebox_domains_blacklist.include?(uri.hostname)
|
||||||
options = { cache: {}, max_width: 695, sanitize_config: Sanitize::Config::DISCOURSE_ONEBOX }
|
options = { cache: {}, max_width: 695, sanitize_config: Sanitize::Config::DISCOURSE_ONEBOX }
|
||||||
r = Onebox.preview(url, options)
|
r = Onebox.preview(url, options)
|
||||||
|
@ -19,8 +19,11 @@ describe FinalDestination do
|
|||||||
end
|
end
|
||||||
|
|
||||||
before do
|
before do
|
||||||
FinalDestination.stubs(:lookup_ip) do |host|
|
WebMock.reset!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
after do
|
||||||
|
WebMock.reset!
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:doc_response) do
|
let(:doc_response) do
|
||||||
|
Loading…
Reference in New Issue
Block a user