Class: Rack::PactBroker::AcceptsHtmlFilter
- Inherits:
-
Object
- Object
- Rack::PactBroker::AcceptsHtmlFilter
- Defined in:
- lib/rack/pact_broker/accepts_html_filter.rb
Instance Method Summary collapse
- #accepts_api_content_types(accept) ⇒ Object
- #accepts_web_content_types(accept) ⇒ Object
- #accepts_web_content_types_and_not_api_media(env) ⇒ Object
- #call(env) ⇒ Object
-
#initialize(app) ⇒ AcceptsHtmlFilter
constructor
A new instance of AcceptsHtmlFilter.
Constructor Details
#initialize(app) ⇒ AcceptsHtmlFilter
Returns a new instance of AcceptsHtmlFilter.
5 6 7 |
# File 'lib/rack/pact_broker/accepts_html_filter.rb', line 5 def initialize app @app = app end |
Instance Method Details
#accepts_api_content_types(accept) ⇒ Object
26 27 28 |
# File 'lib/rack/pact_broker/accepts_html_filter.rb', line 26 def accepts_api_content_types accept accept.include?("json") || accept.include?("csv") end |
#accepts_web_content_types(accept) ⇒ Object
22 23 24 |
# File 'lib/rack/pact_broker/accepts_html_filter.rb', line 22 def accepts_web_content_types(accept) accept.include?("*/*") || accept.include?("html") || accept.include?("text/css") || accept.include?("text/javascript") end |
#accepts_web_content_types_and_not_api_media(env) ⇒ Object
17 18 19 20 |
# File 'lib/rack/pact_broker/accepts_html_filter.rb', line 17 def accepts_web_content_types_and_not_api_media env accept = env['HTTP_ACCEPT'] || '' accepts_web_content_types(accept) && !accepts_api_content_types(accept) end |
#call(env) ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/rack/pact_broker/accepts_html_filter.rb', line 9 def call env if accepts_web_content_types_and_not_api_media env @app.call(env) else [404, {},[]] end end |