token_redis_session_store 0.1.3 → 0.1.4

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
  SHA256:
3
- metadata.gz: d74d2ba13f4a1a22ced569fdf249987b44b631dd9e76876c500d6552af318761
4
- data.tar.gz: e50d06e5dae567e4c0e5ba52f74c6a3b51aae2db8fef135fa1513138a4eb5125
3
+ metadata.gz: 0a8c13418ee51a1e0a0a550e74176057ad1f3cf8b67c1996d53efc0729651154
4
+ data.tar.gz: 92e2cbc9d305f143b34d22a74e41ba68be1cf6071092792c7ec1918e1c57bb11
5
5
  SHA512:
6
- metadata.gz: 1c85de45cea1a87e6df45ff4c11aec78916c7838afa64a80d30c497f7baaa21c57e7c971b506a0197b9149a54cc476377a6c52eedcd5796efd34050829906c5a
7
- data.tar.gz: 7ddd87e94d14d9e76a00870281b0f5545bddadab57adddad916c88d76ac53172869063fee8ecd2170f8afac7669e4ad856d7af22989bb0b1349e11aed3a15c55
6
+ metadata.gz: adc8d351ef5b871125d0891e9db48e9ae9b6589b63685d915845454b07a7a5abfe6c5096f9b1cdb25f60a76a0199e05a786bc19f8ede5d8e6dca75b3b3339d47
7
+ data.tar.gz: 3995c2c6703e0b690b594d0fe1f853f05dc1417d28935ad427f0f7d011090560a30016f9c3aeb2d7cc93e4dbfac74aa84645c1ec64314c9964592b42c8d59d7f
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- token_redis_session_store (0.1.1)
4
+ token_redis_session_store (0.1.2)
5
5
  actionpack (>= 3)
6
6
  redis (>= 4.1)
7
7
 
@@ -0,0 +1,55 @@
1
+ require 'redis'
2
+
3
+ module ActionDispatch
4
+ module Session
5
+ class TokenRedisStore < ActionDispatch::Session::AbstractStore
6
+ def initialize(app, options = {})
7
+ redis_options = options[:redis] || {}
8
+ @session_header = options[:session_header] || 'Session-Id'
9
+ @redis = Redis.new(redis_options)
10
+ options[:defer] = true
11
+ super
12
+ end
13
+
14
+ # Get a session from the cache.
15
+ def find_session(_req, sid)
16
+ unless sid && (session = parse_session(sid))
17
+ sid = generate_sid
18
+ session = {}
19
+ end
20
+ [sid, session]
21
+ end
22
+
23
+ # Set a session in the cache.
24
+ def write_session(_req, sid, session, options)
25
+ unless session.nil?
26
+ if options[:expire_after].nil?
27
+ redis.set(sid, session.to_json)
28
+ else
29
+ redis.setex(sid, options[:expire_after], session.to_json)
30
+ end
31
+ end
32
+ sid
33
+ end
34
+
35
+ # Remove a session from the cache.
36
+ def delete_session(req, sid, _session)
37
+ req.delete_header "HTTP_#{@session_header.sub('-', '_').upcase}"
38
+ redis.del(sid)
39
+ generate_sid
40
+ end
41
+
42
+ private
43
+
44
+ attr_reader :redis
45
+
46
+ def extract_session_id(req)
47
+ req.get_header "HTTP_#{@session_header.sub('-', '_').upcase}"
48
+ end
49
+
50
+ def parse_session(sid)
51
+ (entry = redis.get(sid)) ? JSON.parse(entry) : nil
52
+ end
53
+ end
54
+ end
55
+ end
@@ -1,56 +1 @@
1
- require 'redis'
2
- require "token_redis_session_store/version"
3
-
4
- module TokenRedisSessionStore
5
- # Token Redis session storage that uses redis and
6
- # passes the sessionid on an http header instead of cookie
7
- class TokenRedisStore < ActionDispatch::Session::AbstractStore
8
- def initialize(app, options = {})
9
- redis_options = options[:redis] || {}
10
- @session_header = options[:session_header] || 'Session-Id'
11
- @redis = Redis.new(redis_options)
12
- options[:defer] = true
13
- super
14
- end
15
-
16
- # Get a session from the cache.
17
- def find_session(_req, sid)
18
- unless sid && (session = parse_session(sid))
19
- sid = generate_sid
20
- session = {}
21
- end
22
- [sid, session]
23
- end
24
-
25
- # Set a session in the cache.
26
- def write_session(_req, sid, session, options)
27
- unless session.nil?
28
- if options[:expire_after].nil?
29
- redis.set(sid, session.to_json)
30
- else
31
- redis.setex(sid, options[:expire_after], session.to_json)
32
- end
33
- end
34
- sid
35
- end
36
-
37
- # Remove a session from the cache.
38
- def delete_session(req, sid, _session)
39
- req.delete_header "HTTP_#{@session_header.sub('-', '_').upcase}"
40
- redis.del(sid)
41
- generate_sid
42
- end
43
-
44
- private
45
-
46
- attr_reader :redis
47
-
48
- def extract_session_id(req)
49
- req.get_header "HTTP_#{@session_header.sub('-', '_').upcase}"
50
- end
51
-
52
- def parse_session(sid)
53
- (entry = redis.get(sid)) ? JSON.parse(entry) : nil
54
- end
55
- end
56
- end
1
+ require 'action_dispatch/session/token_redis_store'
@@ -1,3 +1,3 @@
1
1
  module TokenRedisSessionStore
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: token_redis_session_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - enewbury
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-05-10 00:00:00.000000000 Z
11
+ date: 2019-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -133,6 +133,7 @@ files:
133
133
  - Rakefile
134
134
  - bin/console
135
135
  - bin/setup
136
+ - lib/action_dispatch/session/token_redis_store.rb
136
137
  - lib/token_redis_session_store.rb
137
138
  - lib/token_redis_session_store/version.rb
138
139
  - token_redis_session_store.gemspec