Skip to content

Commit 91e059c

Browse files
author
Inbal Tako
committed
Filter out unnecessary headers
1 parent 5ba8cc5 commit 91e059c

File tree

3 files changed

+6
-12
lines changed

3 files changed

+6
-12
lines changed

lib/securenative/frameworks/hanami.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,9 @@ def self.get_method(request)
3636
def self.get_headers(request)
3737
begin
3838
headers = []
39-
request.headers.env.select { |k, _| k.in?(ActionDispatch::Http::Headers::CGI_VARIABLES) }.each { |header|
40-
headers.append(header[0].downcase.gsub("_", "-"))
39+
request.headers.env.select { |k, _| k.in?(ActionDispatch::Http::Headers::CGI_VARIABLES) || k =~ /^HTTP_/ }.each { |header|
40+
headers.append(header[0].downcase.gsub("http_", "").gsub("_", "-"))
4141
}
42-
headers.append({'user-agent' => request.env['HTTP_USER_AGENT']})
43-
4442
return headers
4543
rescue StandardError
4644
nil

lib/securenative/frameworks/rails.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,9 @@ def self.get_method(request)
3838
def self.get_headers(request)
3939
begin
4040
headers = []
41-
request.headers.env.select { |k, _| k.in?(ActionDispatch::Http::Headers::CGI_VARIABLES) }.each { |header|
42-
headers.append(header[0].downcase.gsub("_", "-"))
41+
request.headers.env.select { |k, _| k.in?(ActionDispatch::Http::Headers::CGI_VARIABLES) || k =~ /^HTTP_/ }.each { |header|
42+
headers.append(header[0].downcase.gsub("http_", "").gsub("_", "-"))
4343
}
44-
headers.append({'user-agent' => request.env['HTTP_USER_AGENT']})
45-
4644
return headers
4745
rescue StandardError
4846
nil

lib/securenative/frameworks/sinatra.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,9 @@ def self.get_method(request)
3636
def self.get_headers(request)
3737
begin
3838
headers = []
39-
request.headers.env.select { |k, _| k.in?(ActionDispatch::Http::Headers::CGI_VARIABLES) }.each { |header|
40-
headers.append(header[0].downcase.gsub("_", "-"))
39+
request.headers.env.select { |k, _| k.in?(ActionDispatch::Http::Headers::CGI_VARIABLES) || k =~ /^HTTP_/ }.each { |header|
40+
headers.append(header[0].downcase.gsub("http_", "").gsub("_", "-"))
4141
}
42-
headers.append({'user-agent' => request.env['HTTP_USER_AGENT']})
43-
4442
return headers
4543
rescue StandardError
4644
nil

0 commit comments

Comments
 (0)