diff --git a/lib/grape_logging/loggers/request_headers.rb b/lib/grape_logging/loggers/request_headers.rb index 3735b98..40c86d4 100644 --- a/lib/grape_logging/loggers/request_headers.rb +++ b/lib/grape_logging/loggers/request_headers.rb @@ -17,7 +17,6 @@ def parameters(request, _) { headers: headers } end - end end end diff --git a/spec/lib/grape_logging/loggers/request_headers_spec.rb b/spec/lib/grape_logging/loggers/request_headers_spec.rb index cf530cd..9c4dd26 100644 --- a/spec/lib/grape_logging/loggers/request_headers_spec.rb +++ b/spec/lib/grape_logging/loggers/request_headers_spec.rb @@ -6,9 +6,35 @@ OpenStruct.new(env: {HTTP_REFERER: 'http://example.com', HTTP_ACCEPT: 'text/plain'}) end + let(:mock_request_with_unhandle_headers) do + OpenStruct.new(env: { + HTTP_REFERER: 'http://example.com', + "PATH_INFO"=>"/api/v1/users" + }) + end + + let(:mock_request_with_long_headers) do + OpenStruct.new(env: { + HTTP_REFERER: 'http://example.com', + HTTP_USER_AGENT: "Mozilla/5.0" + }) + end + it 'strips HTTP_ from the parameter' do expect(subject.parameters(mock_request, nil)).to eq({ headers: {'Referer' => 'http://example.com', 'Accept' => 'text/plain'} }) end + + it 'only handle things which start with HTTP_' do + expect(subject.parameters(mock_request_with_unhandle_headers, nil)).to eq({ + headers: {'Referer' => 'http://example.com' } + }) + end + + it 'substitutes _ with -' do + expect(subject.parameters(mock_request_with_long_headers, nil)).to eq({ + headers: {'Referer' => 'http://example.com', 'User-Agent' => 'Mozilla/5.0' } + }) + end end