Skip to content

Commit 1b18ef2

Browse files
authored
Merge pull request #29 from securenative/dev
Fix request headers structure
2 parents 0124fe3 + ec2c953 commit 1b18ef2

File tree

10 files changed

+20
-14
lines changed

10 files changed

+20
-14
lines changed

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
securenative (0.1.34)
4+
securenative (0.1.35)
55

66
GEM
77
remote: https://rubygems.org/

lib/securenative/api_manager.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ def verify(event_options)
2020
begin
2121
res = @event_manager.send_sync(event, SecureNative::Enums::ApiRoute::VERIFY)
2222
ver_result = JSON.parse(res.body)
23+
if res.code != "200"
24+
if @options.fail_over_strategy == SecureNative::FailOverStrategy::FAIL_OPEN
25+
return SecureNative::VerifyResult.new(risk_level: SecureNative::Enums::RiskLevel::LOW, score: 0, triggers: [])
26+
end
27+
return VerifyResult.new(risk_level: SecureNative::Enums::RiskLevel::HIGH, score: 1, triggers: [])
28+
end
2329
return VerifyResult.new(risk_level: ver_result['riskLevel'], score: ver_result['score'], triggers: ver_result['triggers'])
2430
rescue StandardError => e
2531
SecureNative::Log.debug("Failed to call verify; #{e}")

lib/securenative/context.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def self.from_http_request(request, options)
3434
# Standard Ruby request
3535
headers = request.header.to_hash if headers.nil?
3636
rescue StandardError
37-
headers = []
37+
headers = {}
3838
end
3939

4040
url = SecureNative::Frameworks::Rails.get_url(request)

lib/securenative/frameworks/hanami.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ def self.get_method(request)
3535

3636
def self.get_headers(request)
3737
begin
38-
headers = []
38+
headers = {}
3939
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("_", "-"))
40+
headers[header[0].downcase.gsub("http_", "").gsub("_", "-")] = header[1]
4141
}
4242
return headers
4343
rescue StandardError

lib/securenative/frameworks/rails.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ def self.get_method(request)
3737

3838
def self.get_headers(request)
3939
begin
40-
headers = []
40+
headers = {}
4141
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("_", "-"))
42+
headers[header[0].downcase.gsub("http_", "").gsub("_", "-")] = header[1]
4343
}
4444
return headers
4545
rescue StandardError

lib/securenative/frameworks/sinatra.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ def self.get_method(request)
3535

3636
def self.get_headers(request)
3737
begin
38-
headers = []
38+
headers = {}
3939
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("_", "-"))
40+
headers[header[0].downcase.gsub("http_", "").gsub("_", "-")] = header[1]
4141
}
4242
return headers
4343
rescue StandardError

lib/securenative/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module SecureNative
4-
VERSION = '0.1.34'
4+
VERSION = '0.1.35'
55
end

spec/securenative/spec_api_manager.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
5656
'Authorization' => 'YOUR_API_KEY',
5757
'Content-Type' => 'application/json',
58-
'Sn-Version' => '0.1.34',
58+
'Sn-Version' => '0.1.35',
5959
'User-Agent' => 'SecureNative-ruby'
6060
}
6161
).to_return(status: 200, body: '', headers: {})

spec/securenative/spec_event_manager.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def initialize
2929
'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
3030
'Authorization' => 'YOUR_API_KEY',
3131
'Content-Type' => 'application/json',
32-
'Sn-Version' => '0.1.34',
32+
'Sn-Version' => '0.1.35',
3333
'User-Agent' => 'SecureNative-ruby'
3434
})
3535
.to_return(status: 200, body: '', headers: {})
@@ -53,7 +53,7 @@ def initialize
5353
'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
5454
'Authorization' => 'YOUR_API_KEY',
5555
'Content-Type' => 'application/json',
56-
'Sn-Version' => '0.1.34',
56+
'Sn-Version' => '0.1.35',
5757
'User-Agent' => 'SecureNative-ruby'
5858
})
5959
.to_return(status: 401, body: '', headers: {})
@@ -74,7 +74,7 @@ def initialize
7474
'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
7575
'Authorization' => 'YOUR_API_KEY',
7676
'Content-Type' => 'application/json',
77-
'Sn-Version' => '0.1.34',
77+
'Sn-Version' => '0.1.35',
7878
'User-Agent' => 'SecureNative-ruby'
7979
})
8080
.to_return(status: 500, body: '', headers: {})

spec/securenative/spec_http_client.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
1616
'Authorization' => 'YOUR_API_KEY',
1717
'Content-Type' => 'application/json',
18-
'Sn-Version' => '0.1.34',
18+
'Sn-Version' => '0.1.35',
1919
'User-Agent' => 'SecureNative-ruby'
2020
}).to_return(status: 200, body: '', headers: {})
2121

0 commit comments

Comments
 (0)