Add Kemal::OverrideMethodHandler (#651)

This commit is contained in:
Serdar Dogruyol - Sedo セド 2023-02-19 08:59:30 +03:00 committed by GitHub
parent 6a10ea8127
commit 84ea6627ac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 62 additions and 0 deletions

View file

@ -0,0 +1,29 @@
require "./spec_helper"
describe "Kemal::OverrideMethodHandler" do
it "does not override method without _method for POST requests" do
request = HTTP::Request.new(
"POST",
"/",
body: "_not_method=PATCH",
headers: HTTP::Headers{"Content-Type" => "application/x-www-form-urlencoded; charset=UTF-8"}
)
context = create_request_and_return_io_and_context(Kemal::OverrideMethodHandler::INSTANCE, request)[1]
context.request.method.should eq "POST"
end
it "overrides method with _method for POST requests" do
request = HTTP::Request.new(
"POST",
"/",
body: "_method=PATCH",
headers: HTTP::Headers{"Content-Type" => "application/x-www-form-urlencoded; charset=UTF-8"}
)
context = create_request_and_return_io_and_context(Kemal::OverrideMethodHandler::INSTANCE, request)[1]
context.request.method.should eq "PATCH"
end
end