diff options
author | George Claghorn <george.claghorn@gmail.com> | 2018-01-29 20:45:02 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-29 20:45:02 -0500 |
commit | 8ef0751b12878d5de757f7bec17753dee825265a (patch) | |
tree | a4605341c96bf107e99a0603bd7e17758374aa81 /actionpack | |
parent | 44fc16c284533cc2f7a0f97753142aef15fb2207 (diff) | |
parent | eea28f4103f0a55e50ce750582317110c988afcd (diff) | |
download | rails-8ef0751b12878d5de757f7bec17753dee825265a.tar.gz rails-8ef0751b12878d5de757f7bec17753dee825265a.tar.bz2 rails-8ef0751b12878d5de757f7bec17753dee825265a.zip |
Merge pull request #31815 from composerinteralia/make-request-id
Allow @ in X-Request-Id header
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/request_id.rb | 2 | ||||
-rw-r--r-- | actionpack/test/dispatch/request_id_test.rb | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/request_id.rb b/actionpack/lib/action_dispatch/middleware/request_id.rb index 805d3f2148..da2871b551 100644 --- a/actionpack/lib/action_dispatch/middleware/request_id.rb +++ b/actionpack/lib/action_dispatch/middleware/request_id.rb @@ -30,7 +30,7 @@ module ActionDispatch private def make_request_id(request_id) if request_id.presence - request_id.gsub(/[^\w\-]/, "".freeze).first(255) + request_id.gsub(/[^\w\-@]/, "".freeze).first(255) else internal_request_id end diff --git a/actionpack/test/dispatch/request_id_test.rb b/actionpack/test/dispatch/request_id_test.rb index aa3175c986..9df4712dab 100644 --- a/actionpack/test/dispatch/request_id_test.rb +++ b/actionpack/test/dispatch/request_id_test.rb @@ -11,6 +11,11 @@ class RequestIdTest < ActiveSupport::TestCase assert_equal "X-Hacked-HeaderStuff", stub_request("HTTP_X_REQUEST_ID" => "; X-Hacked-Header: Stuff").request_id end + test "accept Apache mod_unique_id format" do + mod_unique_id = "abcxyz@ABCXYZ-0123456789" + assert_equal mod_unique_id, stub_request("HTTP_X_REQUEST_ID" => mod_unique_id).request_id + end + test "ensure that 255 char limit on the request id is being enforced" do assert_equal "X" * 255, stub_request("HTTP_X_REQUEST_ID" => "X" * 500).request_id end |