request_recorder 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- request_recorder (0.0.4)
4
+ request_recorder (0.0.5)
5
5
  rack
6
6
 
7
7
  GEM
data/Readme.md CHANGED
@@ -20,7 +20,7 @@ Add to your middleware stack:
20
20
  Usage
21
21
  =====
22
22
 
23
- - request a page with `/something?__request_recording=10` -> record next 10 requests from my browser
23
+ - request a page with `/something?__request_recording=10|my-session-name` -> record next 10 requests from my browser
24
24
  - redis 'request_recorder' gets a new entry with all the logging info from rails + activerecord
25
25
  - go to redis or build a nice frontend
26
26
 
@@ -7,8 +7,9 @@ module RequestRecorder
7
7
  end
8
8
 
9
9
  def write(id, text)
10
- id = "#{KEY}.#{Time.now.utc.strftime("%Y-%m-%d %H:%M:%S.%L")}_#{Process.pid}" unless id
11
- @store.write(id, @store.read(id).to_s + text)
10
+ id = "#{Time.now.utc.strftime("%Y-%m-%d %H:%M:%S.%L")}_#{Process.pid}" unless id
11
+ key = "#{KEY}.#{id}"
12
+ @store.write(key, @store.read(key).to_s + text)
12
13
  id
13
14
  end
14
15
  end
@@ -39,12 +39,9 @@ module RequestRecorder
39
39
 
40
40
  def read_state_from_env(env)
41
41
  request = Rack::Request.new(env)
42
- if request.cookies[MARKER]
43
- steps, id = request.cookies[MARKER].split(SEPARATOR)
44
- [steps.to_i, id]
45
- else
46
- [env["QUERY_STRING"][/#{MARKER}=(\d+)/, 1].to_i, nil]
47
- end
42
+ value = request.cookies[MARKER] || env["QUERY_STRING"][/#{MARKER}=([^&]+)/, 1]
43
+ steps, id = value.split(SEPARATOR)
44
+ [steps.to_i, id]
48
45
  end
49
46
 
50
47
  def response_with_data_in_cookie(result, to_go, id)
@@ -1,3 +1,3 @@
1
1
  module RequestRecorder
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -16,6 +16,7 @@ describe RequestRecorder::CacheLogger do
16
16
  end
17
17
 
18
18
  let(:store){ Store.new }
19
+ let(:key){ RequestRecorder::CacheLogger::KEY }
19
20
  let(:logger){ RequestRecorder::CacheLogger.new(store) }
20
21
 
21
22
  context "#write" do
@@ -31,13 +32,13 @@ describe RequestRecorder::CacheLogger do
31
32
 
32
33
  it "creates a new entry" do
33
34
  logger.write("1111", "X")
34
- store.read("1111").should == "X"
35
+ store.read("#{key}.1111").should == "X"
35
36
  end
36
37
 
37
38
  it "appends to an existing key" do
38
39
  logger.write("1111", "X")
39
40
  logger.write("1111", "X")
40
- store.read("1111").should == "XX"
41
+ store.read("#{key}.1111").should == "XX"
41
42
  end
42
43
  end
43
44
  end
@@ -31,6 +31,11 @@ describe RequestRecorder do
31
31
  stored.values.last.should include "SELECT"
32
32
  end
33
33
 
34
+ it "starts with a given key" do
35
+ middleware.call({"QUERY_STRING" => "__request_recording=10|abcdefg"})
36
+ redis.hget(redis_key, "abcdefg").should include "SELECT"
37
+ end
38
+
34
39
  it "blows up if you go over the maximum" do
35
40
  status, headers, body = middleware.call("QUERY_STRING" => "__request_recording=99999")
36
41
  status.should == 500
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: request_recorder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-19 00:00:00.000000000 Z
12
+ date: 2012-10-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
@@ -63,7 +63,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
63
63
  version: '0'
64
64
  segments:
65
65
  - 0
66
- hash: 4604048949302387428
66
+ hash: -3767464364914123814
67
67
  required_rubygems_version: !ruby/object:Gem::Requirement
68
68
  none: false
69
69
  requirements:
@@ -72,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
72
72
  version: '0'
73
73
  segments:
74
74
  - 0
75
- hash: 4604048949302387428
75
+ hash: -3767464364914123814
76
76
  requirements: []
77
77
  rubyforge_project:
78
78
  rubygems_version: 1.8.24