finapps 2.1.1 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c165121be25a140bd8e679e20ff7d9b09aabc28a
|
4
|
+
data.tar.gz: 7ced8cf8b1d9436b17bf2fed865f161502b8a6c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4326d7f86886911409df0a3c555d8dd8cbbfe687633d2ffb09374b6a067ac0469c556299ef53ee8e89b35eb2bf46d18af0cec822579fe55dc4e85030e96c130
|
7
|
+
data.tar.gz: eb6a33a750ffb3190a3e308bc03fa5a01ba6805ddfa77bdde963f998e4d91f1675b4e408d7daa1862aeb6aa7afef7cd47d30a1786c04ee5a9be4b760a23b04c5
|
@@ -1,10 +1,20 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
module FinApps
|
3
3
|
module Middleware
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
# Adds a custom header for basic authorization.
|
5
|
+
# If the value for this header already exists, it is not overriden.
|
6
|
+
class NoEncodingBasicAuthentication < Faraday::Middleware
|
7
|
+
KEY = 'Authorization' unless defined? KEY
|
8
|
+
|
9
|
+
def initialize(app, token)
|
10
|
+
super(app)
|
11
|
+
sanitized = token.to_s.strip.delete("\n")
|
12
|
+
@header_value = "Basic #{sanitized}"
|
13
|
+
end
|
14
|
+
|
15
|
+
def call(env)
|
16
|
+
env[:request_headers][KEY] ||= @header_value
|
17
|
+
@app.call(env)
|
8
18
|
end
|
9
19
|
end
|
10
20
|
end
|
data/lib/finapps/version.rb
CHANGED
@@ -1,11 +1,32 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
RSpec.describe FinApps::Middleware::NoEncodingBasicAuthentication do
|
3
3
|
let(:valid_credentials) { VALID_CREDENTIALS }
|
4
|
+
let(:key) { FinApps::Middleware::NoEncodingBasicAuthentication::KEY }
|
4
5
|
|
5
|
-
describe '
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
describe '#call' do
|
7
|
+
fake_app = proc {|env| env }
|
8
|
+
|
9
|
+
context 'when credentials were provided' do
|
10
|
+
let(:middleware) do
|
11
|
+
FinApps::Middleware::NoEncodingBasicAuthentication.new(fake_app, VALID_CREDENTIALS[:token])
|
12
|
+
end
|
13
|
+
let(:expected_header) { "Basic #{valid_credentials[:token]}" }
|
14
|
+
|
15
|
+
context 'when header was not previously set' do
|
16
|
+
let(:request_env) { {request_headers: {}} }
|
17
|
+
subject(:actual_header) { middleware.call(request_env)[:request_headers][key] }
|
18
|
+
|
19
|
+
it('generates a header') { expect(actual_header).to eq(expected_header) }
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'when header was previously set' do
|
23
|
+
let(:existing_header) { {FinApps::Middleware::NoEncodingBasicAuthentication::KEY => 'foo'} }
|
24
|
+
let(:request_env) { {request_headers: existing_header} }
|
25
|
+
subject(:actual_header) { middleware.call(request_env)[:request_headers][key] }
|
26
|
+
|
27
|
+
it('does not override existing header') { expect(actual_header).to eq('foo') }
|
28
|
+
it('does not generate a header') { expect(actual_header).to_not eq(expected_header) }
|
29
|
+
end
|
9
30
|
end
|
10
31
|
end
|
11
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: finapps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erich Quintero
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|