mirror of
https://github.com/discourse/discourse.git
synced 2025-05-28 13:51:18 +08:00
FEATURE: Onebox can match engines based on the content_type (#13876)
* FEATURE: Onebox can match engines based on the content_type `FinalDestination` now returns the `content_type` of a resolved URL. `Oneboxer` passes this value to `Onebox` itself. Onebox engines can now specify a `matches_content_type` regex of content_types that the engine can handle, regardless of the URL. `ImageOnebox` will match URLs with a content type of `image/png`, `jpg`, `gif`, `bmp`, `tif`, etc. This will allow images that exist at a URL without a file type extension to be correctly rendered, assuming a valid `content_type` is returned.
This commit is contained in:
@ -50,6 +50,18 @@ describe Onebox::Engine do
|
||||
end
|
||||
end
|
||||
|
||||
describe "handles_content_type?" do
|
||||
class OneboxEngineImages
|
||||
include Onebox::Engine
|
||||
@@matcher_content_type = /^image\/png$/
|
||||
end
|
||||
|
||||
it "returns true if argument matches the matcher" do
|
||||
result = OneboxEngineImages.handles_content_type?('image/png')
|
||||
expect(result).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
class AlwaysHttpsEngineExample < OneboxEngineExample
|
||||
always_https
|
||||
end
|
||||
|
Reference in New Issue
Block a user