http_log 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/Rakefile +38 -0
  3. data/app/assets/javascripts/http_log.js +14 -0
  4. data/app/assets/stylesheets/http_log.css +12 -0
  5. data/app/controllers/http_log/requests_controller.rb +10 -0
  6. data/app/models/http_log/request.rb +35 -0
  7. data/app/views/http_log/requests/show.html.erb +59 -0
  8. data/app/views/layouts/http_log/requests.html.erb +30 -0
  9. data/config/routes.rb +3 -0
  10. data/lib/http_log/http_request.rb +30 -0
  11. data/lib/http_log/middleware.rb +40 -0
  12. data/lib/http_log/railtie.rb +37 -0
  13. data/lib/http_log/version.rb +3 -0
  14. data/lib/http_log.rb +23 -0
  15. data/lib/tasks/http_logger_tasks.rake +4 -0
  16. data/readme.md +106 -0
  17. data/test/dummy/README.rdoc +261 -0
  18. data/test/dummy/Rakefile +7 -0
  19. data/test/dummy/app/assets/images/image.jpg +0 -0
  20. data/test/dummy/app/assets/javascripts/application.js +14 -0
  21. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  22. data/test/dummy/app/controllers/application_controller.rb +2 -0
  23. data/test/dummy/app/controllers/echo_controller.rb +5 -0
  24. data/test/dummy/app/helpers/application_helper.rb +2 -0
  25. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  26. data/test/dummy/config/application.rb +62 -0
  27. data/test/dummy/config/boot.rb +10 -0
  28. data/test/dummy/config/environment.rb +5 -0
  29. data/test/dummy/config/environments/development.rb +31 -0
  30. data/test/dummy/config/environments/production.rb +64 -0
  31. data/test/dummy/config/environments/test.rb +35 -0
  32. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  33. data/test/dummy/config/initializers/inflections.rb +15 -0
  34. data/test/dummy/config/initializers/mime_types.rb +5 -0
  35. data/test/dummy/config/initializers/secret_token.rb +7 -0
  36. data/test/dummy/config/initializers/session_store.rb +8 -0
  37. data/test/dummy/config/initializers/wrap_parameters.rb +10 -0
  38. data/test/dummy/config/locales/en.yml +5 -0
  39. data/test/dummy/config/mongoid.yml +7 -0
  40. data/test/dummy/config/routes.rb +4 -0
  41. data/test/dummy/config.ru +4 -0
  42. data/test/dummy/log/test.log +8567 -0
  43. data/test/dummy/public/404.html +26 -0
  44. data/test/dummy/public/422.html +26 -0
  45. data/test/dummy/public/500.html +25 -0
  46. data/test/dummy/public/favicon.ico +0 -0
  47. data/test/dummy/script/rails +6 -0
  48. data/test/dummy/tmp/cache/assets/C56/AF0/sprockets%2F8bd6bc711946e979052328c24a265273 +2491 -0
  49. data/test/dummy/tmp/cache/assets/C88/730/sprockets%2F5b9d71c4883306a9e7425d3149785b0a +0 -0
  50. data/test/dummy/tmp/cache/assets/CAC/FC0/sprockets%2F143f0911dfc3cc1692f4d429654d7422 +0 -0
  51. data/test/dummy/tmp/cache/assets/CBD/000/sprockets%2F9d2bd18b820d1d20830ad0411e05a317 +0 -0
  52. data/test/dummy/tmp/cache/assets/CD7/500/sprockets%2Fae345f99053c3b580c5421a1a8a9b509 +0 -0
  53. data/test/dummy/tmp/cache/assets/CD7/9B0/sprockets%2Fef051dd1922500356c22d85b54b94ef4 +0 -0
  54. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  55. data/test/dummy/tmp/cache/assets/CD8/EB0/sprockets%2Ff6249465d0ba565203e326e971ba33dc +0 -0
  56. data/test/dummy/tmp/cache/assets/D00/890/sprockets%2F641813db3a41029a3f60b1ef90e95eb2 +0 -0
  57. data/test/dummy/tmp/cache/assets/D05/B40/sprockets%2F6ec40b73403c5c791c98c130a66f03eb +0 -0
  58. data/test/dummy/tmp/cache/assets/D14/B90/sprockets%2F22c02508890f4a42d489f5cb9995bcaa +0 -0
  59. data/test/dummy/tmp/cache/assets/D18/BC0/sprockets%2Fcc96a74afecc950f9b1923750a624666 +0 -0
  60. data/test/dummy/tmp/cache/assets/D1C/3F0/sprockets%2Ff3cb97c67a28f035a79bf35393a493b6 +0 -0
  61. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  62. data/test/dummy/tmp/cache/assets/D39/6B0/sprockets%2F8d0238243bc83309bfffe73733edb00d +0 -0
  63. data/test/dummy/tmp/cache/assets/D3E/820/sprockets%2F6260e7992ddc6fc2380ba3b8c032dd94 +0 -0
  64. data/test/dummy/tmp/cache/assets/D47/EC0/sprockets%2Fdc5e701826b1ce3f37c1c89bf75f2538 +0 -0
  65. data/test/dummy/tmp/cache/assets/D4A/E60/sprockets%2Fbfb99140fe3d1ff718034c6a8e18847d +0 -0
  66. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  67. data/test/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +2496 -0
  68. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  69. data/test/dummy/tmp/cache/assets/D5B/D40/sprockets%2F04e9e640af4cc213ef17ba39d31f2a40 +0 -0
  70. data/test/dummy/tmp/cache/assets/D60/660/sprockets%2F180c4ea684d2eadbbd5e85d302601b74 +0 -0
  71. data/test/dummy/tmp/cache/assets/D80/D90/sprockets%2Fe73320ffabc376681cd17ed79d9b93e7 +0 -0
  72. data/test/dummy/tmp/cache/assets/D84/4B0/sprockets%2F6a24f73a9cc3c9f978a16a79afe6818b +0 -0
  73. data/test/dummy/tmp/cache/assets/D8D/D50/sprockets%2Fd4f3b2c5183658aa13fa2d8511e6bcba +0 -0
  74. data/test/dummy/tmp/cache/assets/DB9/CD0/sprockets%2F58dda55967442f12eac66cfe9ef69bf6 +0 -0
  75. data/test/dummy/tmp/cache/assets/DC1/380/sprockets%2Fc4cf1e25b6a6e86e6cb37dd2413fbb00 +0 -0
  76. data/test/dummy/tmp/cache/assets/DC4/7C0/sprockets%2Fcba25fb6f81b385a80ef50f3405b2ded +0 -0
  77. data/test/dummy/tmp/cache/assets/DC7/430/sprockets%2F3a58abcdb48a00fb9f180e8ddf3e9203 +0 -0
  78. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  79. data/test/dummy/tmp/cache/assets/DF5/D50/sprockets%2F5ad27ea47264a1fb2bafb977f50d2fca +0 -0
  80. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  81. data/test/dummy/tmp/cache/assets/E07/410/sprockets%2F490f1cfa897fcbe947b0ff03ec38dfb1 +0 -0
  82. data/test/dummy/tmp/cache/assets/E0C/3A0/sprockets%2Fef495ecd04bb6d988d0865ebbebf3c63 +0 -0
  83. data/test/dummy/tmp/cache/assets/E0D/320/sprockets%2Fbf429fbc894ba0b9e4e65fd9825c1fbe +0 -0
  84. data/test/dummy/tmp/cache/assets/E23/000/sprockets%2Fa2e82546ad8185cbdbbcc6b7fa33db3c +0 -0
  85. data/test/dummy/tmp/cache/assets/E54/5F0/sprockets%2Fffb07dbaf19b3044d2fb165c1eefaf9a +0 -0
  86. data/test/integration/filters_test.rb +37 -0
  87. data/test/integration/logging_test.rb +144 -0
  88. data/test/integration/response_test.rb +11 -0
  89. data/test/integration/retrieve_request_test.rb +13 -0
  90. data/test/support/database_cleaner.rb +17 -0
  91. data/test/support/http_logger.rb +7 -0
  92. data/test/test_helper.rb +10 -0
  93. metadata +274 -0
@@ -0,0 +1,37 @@
1
+ require 'test_helper'
2
+
3
+ class FiltersTest < ActionDispatch::IntegrationTest
4
+ setup :clear_filters
5
+
6
+ test "a symbol is treated a file extension" do
7
+ HttpLog.filters << :css
8
+
9
+ get '/assets/application.css'
10
+
11
+ assert_equal 0, HttpLog::Request.count
12
+ end
13
+
14
+ test "a request is ignored if it matches a regex filter" do
15
+ regexp = /assets/
16
+ HttpLog.filters << regexp
17
+
18
+ get 'assets/application.css'
19
+
20
+ assert_equal 0, HttpLog::Request.count
21
+ end
22
+
23
+ test "a block can filter requests" do
24
+ HttpLog.filter do |req|
25
+ true
26
+ end
27
+
28
+ get 'assets/application.css'
29
+
30
+ assert_equal 0, HttpLog::Request.count
31
+ end
32
+
33
+ private
34
+ def clear_filters
35
+ HttpLog.filters.clear
36
+ end
37
+ end
@@ -0,0 +1,144 @@
1
+ require 'test_helper'
2
+
3
+ class LoggingTest < ActionDispatch::IntegrationTest
4
+ test "sending a http requests creates a log entry" do
5
+ post echo_path
6
+
7
+ assert_equal 1, HttpLog::Request.count
8
+ end
9
+
10
+ test "the http method is logged" do
11
+ post echo_path
12
+
13
+ req = HttpLog::Request.first
14
+
15
+ assert_equal 'POST', req.http_method
16
+ end
17
+
18
+ test "the url is logged" do
19
+ post echo_path
20
+
21
+ req = HttpLog::Request.first
22
+
23
+ assert_equal echo_url, req.url
24
+ end
25
+
26
+ test "query string is included in the url" do
27
+ post echo_path(:foo => :bar)
28
+
29
+ req = HttpLog::Request.first
30
+
31
+ assert_equal echo_url(:foo => :bar), req.url
32
+ end
33
+
34
+ test "headers are logged" do
35
+ post echo_path, {}, {'HTTP_FOO' => 'bar'}
36
+
37
+ req = HttpLog::Request.first
38
+
39
+ assert req.headers.has_key?('HTTP_FOO')
40
+ assert_equal 'bar', req.headers['HTTP_FOO']
41
+ end
42
+
43
+ test "paramters are logged" do
44
+ post echo_path, :foo => :bar
45
+
46
+ req = HttpLog::Request.first
47
+
48
+ assert req.params.has_key?('foo')
49
+ assert_equal 'bar', req.params['foo']
50
+ end
51
+
52
+ test "json encoded parameters are logged" do
53
+ post echo_path, %Q{{"foo": "bar"}}, {'CONTENT_TYPE' => 'application/json'}
54
+
55
+ req = HttpLog::Request.first
56
+
57
+ assert_equal 'bar', req.params['foo']
58
+ end
59
+
60
+ test "xml encoded parameters are logged" do
61
+ post echo_path, %Q{<?xml ?><foo>bar</foo>}, {'CONTENT_TYPE' => 'application/xml'}
62
+
63
+ req = HttpLog::Request.first
64
+
65
+ assert_equal 'bar', req.params['foo']
66
+ end
67
+
68
+ test "query string parameters are logged" do
69
+ post echo_path(:foo => :bar)
70
+
71
+ req = HttpLog::Request.first
72
+
73
+ assert req.params.has_key?('foo')
74
+ assert_equal 'bar', req.params['foo']
75
+ end
76
+
77
+ test "content type is logged" do
78
+ post echo_path, {}, {'CONTENT_TYPE' => 'application/json'}
79
+
80
+ req = HttpLog::Request.first
81
+
82
+ assert_equal 'application/json', req.content_type
83
+ end
84
+
85
+ test "http accept header is logged" do
86
+ post echo_path, {}, {'HTTP_ACCEPT' => 'application/json'}
87
+
88
+ req = HttpLog::Request.first
89
+
90
+ assert_equal 'application/json', req.accept
91
+ end
92
+
93
+ test "raw post data is logged" do
94
+ post echo_path, :foo => :bar
95
+
96
+ req = HttpLog::Request.first
97
+
98
+ assert_equal 'foo=bar', req.raw_post
99
+ end
100
+
101
+ test "the user agent is logged" do
102
+ post echo_path, {}, "HTTP_USER_AGENT" => "foobar"
103
+
104
+ req = HttpLog::Request.first
105
+
106
+ assert_equal 'foobar', req.user_agent
107
+ end
108
+
109
+ test "remote ip is logged" do
110
+ post echo_path
111
+
112
+ req = HttpLog::Request.first
113
+
114
+ assert req.remote_ip.present?, "remote_ip should be logged"
115
+ end
116
+
117
+ test "custom callbacks are executed" do
118
+ HttpLog.with_request do |req, log|
119
+ log.headers['foo'] = 'bar'
120
+ end
121
+
122
+ post echo_path
123
+
124
+ req = HttpLog::Request.first
125
+
126
+ assert_equal 'bar', req.headers['foo']
127
+ end
128
+
129
+ test "multiple callbacks are allowed" do
130
+ HttpLog.with_request do |env, log|
131
+ log.headers['foo'] = 'bar'
132
+ end
133
+
134
+ HttpLog.with_request do |env, log|
135
+ log.headers['baz'] = 'quz'
136
+ end
137
+
138
+ post echo_path
139
+
140
+ req = HttpLog::Request.first
141
+
142
+ assert_equal 'quz', req.headers['baz']
143
+ end
144
+ end
@@ -0,0 +1,11 @@
1
+ require 'test_helper'
2
+
3
+ class ResponseTest < ActionDispatch::IntegrationTest
4
+ test "log ID is included in the response" do
5
+ post echo_path
6
+
7
+ log_id = HttpLog::Request.first.id.to_s
8
+
9
+ assert_equal log_id, headers['X-Request-Log-ID']
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ require 'test_helper'
2
+
3
+ class RetreiveRequestTest < ActionDispatch::IntegrationTest
4
+ include HttpLog::Engine.routes.url_helpers
5
+
6
+ test "engine mounts a controller to get a specific request" do
7
+ req = HttpLog::Request.create
8
+
9
+ get http_request_path(req), :format => :json
10
+
11
+ assert_equal response.body, req.to_json
12
+ end
13
+ end
@@ -0,0 +1,17 @@
1
+ require 'database_cleaner'
2
+
3
+ DatabaseCleaner.orm = :mongoid
4
+ DatabaseCleaner.strategy = :truncation
5
+
6
+ class ActiveSupport::TestCase
7
+ setup :start_database_cleaner
8
+ teardown :clean_database
9
+
10
+ def start_database_cleaner
11
+ DatabaseCleaner.start
12
+ end
13
+
14
+ def clean_database
15
+ DatabaseCleaner.clean
16
+ end
17
+ end
@@ -0,0 +1,7 @@
1
+ class ActiveSupport::TestCase
2
+ setup :clear_callbacks
3
+
4
+ def clear_callbacks
5
+ HttpLog.callbacks.clear
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
metadata ADDED
@@ -0,0 +1,274 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: http_log
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Adam Hawkins
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-01-19 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: &70229795438820 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '3.1'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70229795438820
25
+ - !ruby/object:Gem::Dependency
26
+ name: twitter-bootstrap-rails
27
+ requirement: &70229795438180 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70229795438180
36
+ - !ruby/object:Gem::Dependency
37
+ name: mongoid
38
+ requirement: &70229795437160 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70229795437160
47
+ - !ruby/object:Gem::Dependency
48
+ name: bson_ext
49
+ requirement: &70229795436220 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70229795436220
58
+ - !ruby/object:Gem::Dependency
59
+ name: database_cleaner
60
+ requirement: &70229795435580 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70229795435580
69
+ description:
70
+ email:
71
+ - me@broadcastingdam.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - app/assets/javascripts/http_log.js
77
+ - app/assets/stylesheets/http_log.css
78
+ - app/controllers/http_log/requests_controller.rb
79
+ - app/models/http_log/request.rb
80
+ - app/views/http_log/requests/show.html.erb
81
+ - app/views/layouts/http_log/requests.html.erb
82
+ - config/routes.rb
83
+ - lib/http_log/http_request.rb
84
+ - lib/http_log/middleware.rb
85
+ - lib/http_log/railtie.rb
86
+ - lib/http_log/version.rb
87
+ - lib/http_log.rb
88
+ - lib/tasks/http_logger_tasks.rake
89
+ - MIT-LICENSE
90
+ - Rakefile
91
+ - readme.md
92
+ - test/dummy/app/assets/images/image.jpg
93
+ - test/dummy/app/assets/javascripts/application.js
94
+ - test/dummy/app/assets/stylesheets/application.css
95
+ - test/dummy/app/controllers/application_controller.rb
96
+ - test/dummy/app/controllers/echo_controller.rb
97
+ - test/dummy/app/helpers/application_helper.rb
98
+ - test/dummy/app/views/layouts/application.html.erb
99
+ - test/dummy/config/application.rb
100
+ - test/dummy/config/boot.rb
101
+ - test/dummy/config/environment.rb
102
+ - test/dummy/config/environments/development.rb
103
+ - test/dummy/config/environments/production.rb
104
+ - test/dummy/config/environments/test.rb
105
+ - test/dummy/config/initializers/backtrace_silencers.rb
106
+ - test/dummy/config/initializers/inflections.rb
107
+ - test/dummy/config/initializers/mime_types.rb
108
+ - test/dummy/config/initializers/secret_token.rb
109
+ - test/dummy/config/initializers/session_store.rb
110
+ - test/dummy/config/initializers/wrap_parameters.rb
111
+ - test/dummy/config/locales/en.yml
112
+ - test/dummy/config/mongoid.yml
113
+ - test/dummy/config/routes.rb
114
+ - test/dummy/config.ru
115
+ - test/dummy/log/test.log
116
+ - test/dummy/public/404.html
117
+ - test/dummy/public/422.html
118
+ - test/dummy/public/500.html
119
+ - test/dummy/public/favicon.ico
120
+ - test/dummy/Rakefile
121
+ - test/dummy/README.rdoc
122
+ - test/dummy/script/rails
123
+ - test/dummy/tmp/cache/assets/C56/AF0/sprockets%2F8bd6bc711946e979052328c24a265273
124
+ - test/dummy/tmp/cache/assets/C88/730/sprockets%2F5b9d71c4883306a9e7425d3149785b0a
125
+ - test/dummy/tmp/cache/assets/CAC/FC0/sprockets%2F143f0911dfc3cc1692f4d429654d7422
126
+ - test/dummy/tmp/cache/assets/CBD/000/sprockets%2F9d2bd18b820d1d20830ad0411e05a317
127
+ - test/dummy/tmp/cache/assets/CD7/500/sprockets%2Fae345f99053c3b580c5421a1a8a9b509
128
+ - test/dummy/tmp/cache/assets/CD7/9B0/sprockets%2Fef051dd1922500356c22d85b54b94ef4
129
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
130
+ - test/dummy/tmp/cache/assets/CD8/EB0/sprockets%2Ff6249465d0ba565203e326e971ba33dc
131
+ - test/dummy/tmp/cache/assets/D00/890/sprockets%2F641813db3a41029a3f60b1ef90e95eb2
132
+ - test/dummy/tmp/cache/assets/D05/B40/sprockets%2F6ec40b73403c5c791c98c130a66f03eb
133
+ - test/dummy/tmp/cache/assets/D14/B90/sprockets%2F22c02508890f4a42d489f5cb9995bcaa
134
+ - test/dummy/tmp/cache/assets/D18/BC0/sprockets%2Fcc96a74afecc950f9b1923750a624666
135
+ - test/dummy/tmp/cache/assets/D1C/3F0/sprockets%2Ff3cb97c67a28f035a79bf35393a493b6
136
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
137
+ - test/dummy/tmp/cache/assets/D39/6B0/sprockets%2F8d0238243bc83309bfffe73733edb00d
138
+ - test/dummy/tmp/cache/assets/D3E/820/sprockets%2F6260e7992ddc6fc2380ba3b8c032dd94
139
+ - test/dummy/tmp/cache/assets/D47/EC0/sprockets%2Fdc5e701826b1ce3f37c1c89bf75f2538
140
+ - test/dummy/tmp/cache/assets/D4A/E60/sprockets%2Fbfb99140fe3d1ff718034c6a8e18847d
141
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
142
+ - test/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4
143
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
144
+ - test/dummy/tmp/cache/assets/D5B/D40/sprockets%2F04e9e640af4cc213ef17ba39d31f2a40
145
+ - test/dummy/tmp/cache/assets/D60/660/sprockets%2F180c4ea684d2eadbbd5e85d302601b74
146
+ - test/dummy/tmp/cache/assets/D80/D90/sprockets%2Fe73320ffabc376681cd17ed79d9b93e7
147
+ - test/dummy/tmp/cache/assets/D84/4B0/sprockets%2F6a24f73a9cc3c9f978a16a79afe6818b
148
+ - test/dummy/tmp/cache/assets/D8D/D50/sprockets%2Fd4f3b2c5183658aa13fa2d8511e6bcba
149
+ - test/dummy/tmp/cache/assets/DB9/CD0/sprockets%2F58dda55967442f12eac66cfe9ef69bf6
150
+ - test/dummy/tmp/cache/assets/DC1/380/sprockets%2Fc4cf1e25b6a6e86e6cb37dd2413fbb00
151
+ - test/dummy/tmp/cache/assets/DC4/7C0/sprockets%2Fcba25fb6f81b385a80ef50f3405b2ded
152
+ - test/dummy/tmp/cache/assets/DC7/430/sprockets%2F3a58abcdb48a00fb9f180e8ddf3e9203
153
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
154
+ - test/dummy/tmp/cache/assets/DF5/D50/sprockets%2F5ad27ea47264a1fb2bafb977f50d2fca
155
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
156
+ - test/dummy/tmp/cache/assets/E07/410/sprockets%2F490f1cfa897fcbe947b0ff03ec38dfb1
157
+ - test/dummy/tmp/cache/assets/E0C/3A0/sprockets%2Fef495ecd04bb6d988d0865ebbebf3c63
158
+ - test/dummy/tmp/cache/assets/E0D/320/sprockets%2Fbf429fbc894ba0b9e4e65fd9825c1fbe
159
+ - test/dummy/tmp/cache/assets/E23/000/sprockets%2Fa2e82546ad8185cbdbbcc6b7fa33db3c
160
+ - test/dummy/tmp/cache/assets/E54/5F0/sprockets%2Fffb07dbaf19b3044d2fb165c1eefaf9a
161
+ - test/integration/filters_test.rb
162
+ - test/integration/logging_test.rb
163
+ - test/integration/response_test.rb
164
+ - test/integration/retrieve_request_test.rb
165
+ - test/support/database_cleaner.rb
166
+ - test/support/http_logger.rb
167
+ - test/test_helper.rb
168
+ homepage: https://github.com/adman65/http_log
169
+ licenses: []
170
+ post_install_message:
171
+ rdoc_options: []
172
+ require_paths:
173
+ - lib
174
+ required_ruby_version: !ruby/object:Gem::Requirement
175
+ none: false
176
+ requirements:
177
+ - - ! '>='
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ segments:
181
+ - 0
182
+ hash: 2581010151858477816
183
+ required_rubygems_version: !ruby/object:Gem::Requirement
184
+ none: false
185
+ requirements:
186
+ - - ! '>='
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ segments:
190
+ - 0
191
+ hash: 2581010151858477816
192
+ requirements: []
193
+ rubyforge_project:
194
+ rubygems_version: 1.8.11
195
+ signing_key:
196
+ specification_version: 3
197
+ summary: Log HTTP requests to MongoDB for debugging and access them via the web
198
+ test_files:
199
+ - test/dummy/app/assets/images/image.jpg
200
+ - test/dummy/app/assets/javascripts/application.js
201
+ - test/dummy/app/assets/stylesheets/application.css
202
+ - test/dummy/app/controllers/application_controller.rb
203
+ - test/dummy/app/controllers/echo_controller.rb
204
+ - test/dummy/app/helpers/application_helper.rb
205
+ - test/dummy/app/views/layouts/application.html.erb
206
+ - test/dummy/config/application.rb
207
+ - test/dummy/config/boot.rb
208
+ - test/dummy/config/environment.rb
209
+ - test/dummy/config/environments/development.rb
210
+ - test/dummy/config/environments/production.rb
211
+ - test/dummy/config/environments/test.rb
212
+ - test/dummy/config/initializers/backtrace_silencers.rb
213
+ - test/dummy/config/initializers/inflections.rb
214
+ - test/dummy/config/initializers/mime_types.rb
215
+ - test/dummy/config/initializers/secret_token.rb
216
+ - test/dummy/config/initializers/session_store.rb
217
+ - test/dummy/config/initializers/wrap_parameters.rb
218
+ - test/dummy/config/locales/en.yml
219
+ - test/dummy/config/mongoid.yml
220
+ - test/dummy/config/routes.rb
221
+ - test/dummy/config.ru
222
+ - test/dummy/log/test.log
223
+ - test/dummy/public/404.html
224
+ - test/dummy/public/422.html
225
+ - test/dummy/public/500.html
226
+ - test/dummy/public/favicon.ico
227
+ - test/dummy/Rakefile
228
+ - test/dummy/README.rdoc
229
+ - test/dummy/script/rails
230
+ - test/dummy/tmp/cache/assets/C56/AF0/sprockets%2F8bd6bc711946e979052328c24a265273
231
+ - test/dummy/tmp/cache/assets/C88/730/sprockets%2F5b9d71c4883306a9e7425d3149785b0a
232
+ - test/dummy/tmp/cache/assets/CAC/FC0/sprockets%2F143f0911dfc3cc1692f4d429654d7422
233
+ - test/dummy/tmp/cache/assets/CBD/000/sprockets%2F9d2bd18b820d1d20830ad0411e05a317
234
+ - test/dummy/tmp/cache/assets/CD7/500/sprockets%2Fae345f99053c3b580c5421a1a8a9b509
235
+ - test/dummy/tmp/cache/assets/CD7/9B0/sprockets%2Fef051dd1922500356c22d85b54b94ef4
236
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
237
+ - test/dummy/tmp/cache/assets/CD8/EB0/sprockets%2Ff6249465d0ba565203e326e971ba33dc
238
+ - test/dummy/tmp/cache/assets/D00/890/sprockets%2F641813db3a41029a3f60b1ef90e95eb2
239
+ - test/dummy/tmp/cache/assets/D05/B40/sprockets%2F6ec40b73403c5c791c98c130a66f03eb
240
+ - test/dummy/tmp/cache/assets/D14/B90/sprockets%2F22c02508890f4a42d489f5cb9995bcaa
241
+ - test/dummy/tmp/cache/assets/D18/BC0/sprockets%2Fcc96a74afecc950f9b1923750a624666
242
+ - test/dummy/tmp/cache/assets/D1C/3F0/sprockets%2Ff3cb97c67a28f035a79bf35393a493b6
243
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
244
+ - test/dummy/tmp/cache/assets/D39/6B0/sprockets%2F8d0238243bc83309bfffe73733edb00d
245
+ - test/dummy/tmp/cache/assets/D3E/820/sprockets%2F6260e7992ddc6fc2380ba3b8c032dd94
246
+ - test/dummy/tmp/cache/assets/D47/EC0/sprockets%2Fdc5e701826b1ce3f37c1c89bf75f2538
247
+ - test/dummy/tmp/cache/assets/D4A/E60/sprockets%2Fbfb99140fe3d1ff718034c6a8e18847d
248
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
249
+ - test/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4
250
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
251
+ - test/dummy/tmp/cache/assets/D5B/D40/sprockets%2F04e9e640af4cc213ef17ba39d31f2a40
252
+ - test/dummy/tmp/cache/assets/D60/660/sprockets%2F180c4ea684d2eadbbd5e85d302601b74
253
+ - test/dummy/tmp/cache/assets/D80/D90/sprockets%2Fe73320ffabc376681cd17ed79d9b93e7
254
+ - test/dummy/tmp/cache/assets/D84/4B0/sprockets%2F6a24f73a9cc3c9f978a16a79afe6818b
255
+ - test/dummy/tmp/cache/assets/D8D/D50/sprockets%2Fd4f3b2c5183658aa13fa2d8511e6bcba
256
+ - test/dummy/tmp/cache/assets/DB9/CD0/sprockets%2F58dda55967442f12eac66cfe9ef69bf6
257
+ - test/dummy/tmp/cache/assets/DC1/380/sprockets%2Fc4cf1e25b6a6e86e6cb37dd2413fbb00
258
+ - test/dummy/tmp/cache/assets/DC4/7C0/sprockets%2Fcba25fb6f81b385a80ef50f3405b2ded
259
+ - test/dummy/tmp/cache/assets/DC7/430/sprockets%2F3a58abcdb48a00fb9f180e8ddf3e9203
260
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
261
+ - test/dummy/tmp/cache/assets/DF5/D50/sprockets%2F5ad27ea47264a1fb2bafb977f50d2fca
262
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
263
+ - test/dummy/tmp/cache/assets/E07/410/sprockets%2F490f1cfa897fcbe947b0ff03ec38dfb1
264
+ - test/dummy/tmp/cache/assets/E0C/3A0/sprockets%2Fef495ecd04bb6d988d0865ebbebf3c63
265
+ - test/dummy/tmp/cache/assets/E0D/320/sprockets%2Fbf429fbc894ba0b9e4e65fd9825c1fbe
266
+ - test/dummy/tmp/cache/assets/E23/000/sprockets%2Fa2e82546ad8185cbdbbcc6b7fa33db3c
267
+ - test/dummy/tmp/cache/assets/E54/5F0/sprockets%2Fffb07dbaf19b3044d2fb165c1eefaf9a
268
+ - test/integration/filters_test.rb
269
+ - test/integration/logging_test.rb
270
+ - test/integration/response_test.rb
271
+ - test/integration/retrieve_request_test.rb
272
+ - test/support/database_cleaner.rb
273
+ - test/support/http_logger.rb
274
+ - test/test_helper.rb