logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: 71706f21c28f5ae623ee69810fe26a34fb79b446
parent: b1881a3d481bccfba984d42380ab2f3780bd0845
Author: Matt Jankowski <mjankowski@thoughtbot.com>
Date:   Sun,  9 Apr 2017 08:39:41 -0400

Ignore implied formats for catch all route requests (#1340)

A request to `/test` would show the custom 404 page, but a request to
`/test.test` would return a 404 with an empty body.

This change ignores the format on incoming catch all route requests, so that the
html 404 page is returned on these requests.

Diffstat:

Mconfig/routes.rb5++++-
Aspec/requests/catch_all_route_request_spec.rb21+++++++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/config/routes.rb b/config/routes.rb @@ -194,5 +194,8 @@ Rails.application.routes.draw do root 'home#index' - match '*unmatched_route', via: :all, to: 'application#raise_not_found' + match '*unmatched_route', + via: :all, + to: 'application#raise_not_found', + format: false end diff --git a/spec/requests/catch_all_route_request_spec.rb b/spec/requests/catch_all_route_request_spec.rb @@ -0,0 +1,21 @@ +require "rails_helper" + +describe "The catch all route" do + describe "with a simple value" do + it "returns a 404 page as html" do + get "/test" + + expect(response.status).to eq 404 + expect(response.content_type).to eq "text/html" + end + end + + describe "with an implied format" do + it "returns a 404 page as html" do + get "/test.test" + + expect(response.status).to eq 404 + expect(response.content_type).to eq "text/html" + end + end +end