token_redis_session_store 0.1.3 → 0.1.4

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
  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