http_log 0.0.1

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