Ignore referer on /report-abuse if it's SW.js (#6295) [deploy]
This commit is contained in:
parent
d8f247661c
commit
6d4925a17d
2 changed files with 26 additions and 1 deletions
|
|
@ -44,7 +44,8 @@ class PagesController < ApplicationController
|
|||
end
|
||||
|
||||
def report_abuse
|
||||
reported_url = params[:reported_url] || params[:url] || request.referer
|
||||
referer = URI(request.referer || "").path == "/serviceworker.js" ? nil : request.referer
|
||||
reported_url = params[:reported_url] || params[:url] || referer
|
||||
@feedback_message = FeedbackMessage.new(
|
||||
reported_url: reported_url&.chomp("?i=i"),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -121,4 +121,28 @@ RSpec.describe "Pages", type: :request do
|
|||
expect(response.body).to include("Sitemap: https://#{ApplicationConfig['AWS_BUCKET_NAME']}.s3.amazonaws.com/sitemaps/sitemap.xml.gz")
|
||||
end
|
||||
end
|
||||
|
||||
describe "GET /report-abuse" do
|
||||
context "when provided the referer" do
|
||||
it "prefills with the provided url" do
|
||||
url = Faker::Internet.url
|
||||
get "/report-abuse", headers: { referer: url }
|
||||
expect(response.body).to include(url)
|
||||
end
|
||||
|
||||
it "does not prefill if the provide url is /serviceworker.js" do
|
||||
url = "https://dev.to/serviceworker.js"
|
||||
get "/report-abuse", headers: { referer: url }
|
||||
expect(response.body).not_to include(url)
|
||||
end
|
||||
end
|
||||
|
||||
context "when provided the params" do
|
||||
it "prefills with the provided param url" do
|
||||
url = "https://dev.to/serviceworker.js"
|
||||
get "/report-abuse", params: { url: url }
|
||||
expect(response.body).to include(url)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue