sitehub 0.4.7 → 0.4.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 04363e00e3336d8455b4cb2c9d4eb4fc9740b8b5
4
- data.tar.gz: 6016da732dd7cdb35e7dbe0a1d74697f98dc9557
3
+ metadata.gz: 0d9f33c7bd5d70f6b2b82af2a323ad52001ab72a
4
+ data.tar.gz: 1b7e24903e21456c9ce94f2c6ae4b9e15574e257
5
5
  SHA512:
6
- metadata.gz: 96eaea637b18d9e272b526d664a9d5c748d910a8c59de339b2f091df2a3e693f3cbf5363cdf0f62f1c8831f5449fb01c1f647c66b0ecd63bd9b181db0b025ab4
7
- data.tar.gz: 5165e6d91e40ac2945fd881efe73d69f4addd303bed5d35c87bee949343fd05f3231065f2f88a2bc25cef0154a0af548705b5665e39b9d38500a5cc5a15e66b4
6
+ metadata.gz: ac6d54ab0e88de48ecd18ccd84adbe946eff83bfdcb5a4e4b0ed5ebe64ace38c53f3ce022a6baab46f63dd6b145d40c6388b64ef917b3e50b6cfee32d86d369b
7
+ data.tar.gz: 4fd1f12ee1c746b9539bbfbd704d8b83b31805ce1483d0e1508595278a28264fe23de9dabba020f81f9932d1236d6a20b2c6d1876be24ee038309a5e65678e3b
data/.reek CHANGED
@@ -16,6 +16,7 @@ TooManyStatements:
16
16
  exclude:
17
17
  - "Builder#add_default_middleware"
18
18
  - "ForwardProxy#initialize"
19
+ - "ForwardProxy#call"
19
20
  - "SiteHub::ForwardProxyBuilder#initialize"
20
21
 
21
22
  FeatureEnvy:
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sitehub (0.4.7)
4
+ sitehub (0.4.8)
5
5
  em-http-request
6
6
  em-synchrony
7
7
  faraday
@@ -19,9 +19,14 @@ class SiteHub
19
19
  request = env[REQUEST]
20
20
  request.map(mapped_path, mapped_url)
21
21
 
22
- downstream_client.call(request).tap do |response|
23
- response.set_cookie(sitehub_cookie_name, path: (sitehub_cookie_path || request.path), value: id)
24
- end
22
+ response = downstream_client.call(request)
23
+ value = request.cookies[sitehub_cookie_name.to_s] || id
24
+ response.set_cookie(sitehub_cookie_name, path: resolve_sitehub_cookie_path(request), value: value)
25
+ response
26
+ end
27
+
28
+ def resolve_sitehub_cookie_path(request)
29
+ sitehub_cookie_path || request.path
25
30
  end
26
31
 
27
32
  def ==(other)
@@ -13,6 +13,7 @@ class SiteHub
13
13
  def_delegator :@rack_request, :url
14
14
  def_delegator :@rack_request, :path
15
15
  def_delegator :@rack_request, :query_string
16
+ def_delegator :@rack_request, :cookies
16
17
 
17
18
  attr_reader :env, :rack_request, :mapped_path, :mapped_url, :time
18
19
 
@@ -1,3 +1,3 @@
1
1
  class SiteHub
2
- VERSION = '0.4.7'.freeze
2
+ VERSION = '0.4.8'.freeze
3
3
  end
@@ -26,7 +26,8 @@ class SiteHub
26
26
  end
27
27
 
28
28
  describe '#call' do
29
- let(:request) { Request.new(env: env_for(path: mapped_path)) }
29
+ let(:rack_headers) { {} }
30
+ let(:request) { Request.new(env: env_for(path: mapped_path, env: rack_headers)) }
30
31
 
31
32
  before do
32
33
  get(mapped_path, {}, REQUEST => request)
@@ -47,6 +48,14 @@ class SiteHub
47
48
  expect(last_response.cookies[:cookie_name.to_s]).to eq(value: :id.to_s, path: mapped_path)
48
49
  end
49
50
 
51
+ context 'cookie already set' do
52
+ let(:rack_headers) { { 'HTTP_COOKIE' => 'cookie_name=existing_value' } }
53
+
54
+ it 'leaves it alone' do
55
+ expect(last_response.cookies[:cookie_name.to_s]).to eq(value: :existing_value.to_s, path: mapped_path)
56
+ end
57
+ end
58
+
50
59
  context 'recorded_routes_cookie_path not set' do
51
60
  it 'sets the path to be the request path' do
52
61
  expect(last_response.cookies[:cookie_name.to_s][:path]).to eq(mapped_path)
@@ -13,7 +13,8 @@ module Rack
13
13
  end
14
14
 
15
15
  def cookie_key_value_array
16
- header['Set-Cookie'].lines.collect { |line| line.scan(%r{([\.\w]+)=([\.\w/]+)}) }
16
+ value = header['Set-Cookie'] || ''
17
+ value.lines.collect { |line| line.scan(%r{([\.\w]+)=([\.\w/]+)}) }
17
18
  end
18
19
  end
19
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sitehub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.7
4
+ version: 0.4.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ladtech
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-21 00:00:00.000000000 Z
11
+ date: 2016-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack