request_recorder 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/Readme.md +1 -1
- data/gemfiles/rails2.gemfile.lock +1 -1
- data/gemfiles/rails3.gemfile.lock +1 -1
- data/lib/request_recorder/middleware.rb +7 -4
- data/lib/request_recorder/version.rb +1 -1
- data/spec/request_recorder/middleware_spec.rb +9 -0
- data/spec/request_recorder_spec.rb +1 -1
- metadata +3 -3
data/Gemfile.lock
CHANGED
data/Readme.md
CHANGED
@@ -14,7 +14,7 @@ Add to your middleware stack:
|
|
14
14
|
:store => RequestRecorder::CacheLogger.new(Rails.cache),
|
15
15
|
:frontend_auth => lambda { |env| Rails.env.development? } # TODO use something like `env.warden.user.is_admin?` in production
|
16
16
|
# if you get 502's because of too large headers, you can reduce them: everything in :remove will be removed when above :max
|
17
|
-
# :
|
17
|
+
# :headers => {:max => 10_000, :remove => [/Identity Map/, /Cache local read/, /Cache read/, /SELECT count(\*)/, /SELECT \* FROM/] }
|
18
18
|
|
19
19
|
Usage
|
20
20
|
=====
|
@@ -48,7 +48,8 @@ module RequestRecorder
|
|
48
48
|
if result.is_a?(Exception)
|
49
49
|
raise result # Do not mess up the apps normal exception behavior
|
50
50
|
else
|
51
|
-
|
51
|
+
path = [env["PATH_INFO"], env["QUERY_STRING"]].compact.join("?")
|
52
|
+
extra_headers = chrome_logger_headers(log, path) if @auth && @auth.call(env)
|
52
53
|
response_with_data_in_cookie(result, steps_left, id, extra_headers)
|
53
54
|
end
|
54
55
|
end
|
@@ -95,14 +96,14 @@ module RequestRecorder
|
|
95
96
|
response.finish # finish writes out the response in the expected format.
|
96
97
|
end
|
97
98
|
|
98
|
-
def chrome_logger_headers(log)
|
99
|
+
def chrome_logger_headers(log, path)
|
99
100
|
log = log.split("\n").map { |line| remove_console_colors(line) }
|
100
101
|
log = reduce_header_size(log) if @headers
|
101
102
|
|
102
103
|
|
103
104
|
# fake chrome-logger format
|
104
105
|
rows = []
|
105
|
-
rows << [["Rails log"],"xxx.rb:1","group"]
|
106
|
+
rows << [["Rails log #{path}"],"xxx.rb:1","group"]
|
106
107
|
rows.concat log.map{|line| [line.split(" "), "xxx.rb:1", ""] }
|
107
108
|
rows << [[], "xxx.rb:1", "groupEnd"]
|
108
109
|
|
@@ -128,8 +129,10 @@ module RequestRecorder
|
|
128
129
|
removed_count = 0
|
129
130
|
removed_match = []
|
130
131
|
|
132
|
+
unimportant = (@headers[:remove] || []).dup
|
133
|
+
|
131
134
|
while array.sum(&:size) > size
|
132
|
-
if remove =
|
135
|
+
if remove = unimportant.shift
|
133
136
|
removed_match << remove
|
134
137
|
array.reject! { |line| line =~ remove }
|
135
138
|
else
|
@@ -17,5 +17,14 @@ describe RequestRecorder::Middleware do
|
|
17
17
|
"a" * 40, "c" * 40, "Removed: all /b/"
|
18
18
|
]
|
19
19
|
end
|
20
|
+
|
21
|
+
it "can remove multiple times" do
|
22
|
+
middleware.send(:reduce_header_size, ["a" * 40,"b"*40,"c" * 40]).should == [
|
23
|
+
"a" * 40, "c" * 40, "Removed: all /b/"
|
24
|
+
]
|
25
|
+
middleware.send(:reduce_header_size, ["a" * 40,"b"*40,"c" * 40]).should == [
|
26
|
+
"a" * 40, "c" * 40, "Removed: all /b/"
|
27
|
+
]
|
28
|
+
end
|
20
29
|
end
|
21
30
|
end
|
@@ -187,7 +187,7 @@ describe RequestRecorder do
|
|
187
187
|
"version"=>"0.1.1",
|
188
188
|
"columns"=>["log", "backtrace", "type"],
|
189
189
|
"rows"=>[
|
190
|
-
[["Rails log"], "xxx.rb:1", "group"],
|
190
|
+
[["Rails log request_recorder=10-xxx"], "xxx.rb:1", "group"],
|
191
191
|
[["Car", "Load", "---"], "xxx.rb:1", ""],
|
192
192
|
[[], "xxx.rb:1", "groupEnd"]
|
193
193
|
]
|
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.2.
|
4
|
+
version: 0.2.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -104,7 +104,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
104
104
|
version: '0'
|
105
105
|
segments:
|
106
106
|
- 0
|
107
|
-
hash:
|
107
|
+
hash: 2258445014574956169
|
108
108
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
109
|
none: false
|
110
110
|
requirements:
|
@@ -113,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
113
|
version: '0'
|
114
114
|
segments:
|
115
115
|
- 0
|
116
|
-
hash:
|
116
|
+
hash: 2258445014574956169
|
117
117
|
requirements: []
|
118
118
|
rubyforge_project:
|
119
119
|
rubygems_version: 1.8.25
|