sources: fix sources sometimes choosing wrong strategy (fix #3968)
Fix sources choosing the wrong strategy when the referer belongs to a different site (for example, when uploading a twitter post with a pixiv referer). * Fix `match?` to only consider the main url, not the referer. * Change `match?` to match against a list of domains given by the `domains` method. * Change `match?` to an instance method.
This commit is contained in:
@@ -16,8 +16,8 @@ module Sources
|
||||
end
|
||||
|
||||
def self.find(url, referer=nil, default: Strategies::Null)
|
||||
strategy = all.detect { |strategy| strategy.match?(url, referer) } || default
|
||||
strategy&.new(url, referer)
|
||||
strategy = all.map { |strategy| strategy.new(url, referer) }.detect(&:match?)
|
||||
strategy || default.new(url, referer)
|
||||
end
|
||||
|
||||
def self.canonical(url, referer)
|
||||
|
||||
Reference in New Issue
Block a user