errorkit 0.2.0 → 0.3.1

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
  SHA1:
3
- metadata.gz: ce2c8c5509171fa93c7c686bad573c35bf3ee1d0
4
- data.tar.gz: 29b719824efe6e058df1ad720e6a66dfb96f8659
3
+ metadata.gz: 50a79a05a1f3b3bec5e298dce569593133abb6ea
4
+ data.tar.gz: d0e871056ca90127f6c6b5665ba2db9e5ba438ab
5
5
  SHA512:
6
- metadata.gz: f138a0efc6f89eb18d7c2ea3d61c12d88466038dd12c50753833689ae62d4adeda1a033a92afeb01e8491585fa366f265fd7cf1ae1c45ac118848ecec5381b35
7
- data.tar.gz: 09907f207a5475e18faea69d0f17eb49e0af667568f8679dc121362cbda0f8f0fdfabe9c81b2734e1a7188668d07bd630a9b394f2a1e906d7ed9ae8b03787d54
6
+ metadata.gz: eb0e67fac073901b297856d1e5940b52b72e3a951ad5c9798a0d62e27125650acaf58ea886bccebdaed085150de6f146e3d7ed683e03f806a6b843b6f2f19a4c
7
+ data.tar.gz: 452cdcc0ea38f6146f2fc47daf8a6190c780d14b7fdda5a3d2c48bb2180e9914dfe1483a47e3bcb92cc27ec5d46a0b48192da7e1fb157b222616296137b0443a
data/README.md CHANGED
@@ -113,6 +113,15 @@ Once created, you must tell Errorkit to use this mailer in the initializer:
113
113
 
114
114
  config.errors_mailer = MyMailer
115
115
 
116
+ ## Trying things in development
117
+
118
+ In order to see Errorkit working in development, you need to change your
119
+ `config/environments/development.rb` and add:
120
+
121
+ config.consider_all_requests_local = false
122
+
123
+ Make sure you restart rails.
124
+
116
125
  ## Contributing
117
126
 
118
127
  1. Fork it
@@ -2,7 +2,12 @@ require "errorkit/version"
2
2
  require 'errorkit/config'
3
3
  require 'errorkit/ignorable_error'
4
4
  require 'errorkit/errors_mailer'
5
- require 'errorkit/sidekiq'
5
+
6
+ begin
7
+ require 'errorkit/sidekiq'
8
+ rescue LoadError
9
+ # Sidekiq is not available
10
+ end
6
11
 
7
12
  module Errorkit
8
13
  require 'errorkit/engine' if defined?(Rails)
@@ -36,8 +41,10 @@ module Errorkit
36
41
  params: filtered_parameters(request).to_json,
37
42
  session: filtered_session(request).to_json,
38
43
  remote_ip: request.remote_ip.to_s,
44
+ request_env: filtered_request_env(request).to_json,
39
45
  controller: (env['action_controller.instance'].controller_name rescue nil),
40
- action: (env['action_controller.instance'].action_name rescue nil))
46
+ action: (env['action_controller.instance'].action_name rescue nil),
47
+ url: request.original_url)
41
48
 
42
49
  env['errorkit.notified'] = send_notification(error)
43
50
  env['errorkit.error'] = error
@@ -86,6 +93,27 @@ module Errorkit
86
93
  request.filtered_parameters
87
94
  end
88
95
 
96
+ REQUEST_ENV = %w(SERVER_NAME PATH_INFO REMOTE_HOST HTTP_ACCEPT_ENCODING
97
+ HTTP_USER_AGENT SERVER_PROTOCOL HTTP_CACHE_CONTROL HTTP_ACCEPT_LANGUAGE HTTP_HOST
98
+ REMOTE_ADDR SERVER_SOFTWARE HTTP_KEEP_ALIVE HTTP_REFERER HTTP_COOKIE HTTP_ACCEPT_CHARSET
99
+ REQUEST_URI SERVER_PORT GATEWAY_INTERFACE QUERY_STRING REMOTE_USER HTTP_ACCEPT
100
+ REQUEST_METHOD HTTP_CONNECTION)
101
+
102
+ def self.filtered_request_env(request)
103
+ begin
104
+ require 'action_dispatch/http/parameter_filter'
105
+ rescue LoadError
106
+ return {}
107
+ end
108
+ env = {}
109
+ REQUEST_ENV.each do |var|
110
+ env[var] = request.env[var]
111
+ end
112
+ param_filter = request.env.fetch("action_dispatch.parameter_filter")
113
+ param_filter = ActionDispatch::Http::ParameterFilter.new(param_filter)
114
+ param_filter.filter(env)
115
+ end
116
+
89
117
  def self.filtered_session(request)
90
118
  begin
91
119
  require 'action_dispatch/http/parameter_filter'
@@ -16,7 +16,7 @@ module Errorkit
16
16
  end
17
17
  end
18
18
 
19
- # Only connect if Sidekiq
19
+ # Only connect if Sidekiq exists
20
20
  if defined?(::Sidekiq)
21
21
  ::Sidekiq.configure_server do |config|
22
22
  config.server_middleware do |chain|
@@ -1,3 +1,3 @@
1
1
  module Errorkit
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.1"
3
3
  end
@@ -9,6 +9,13 @@
9
9
  <pre style="white-space:pre-wrap"><%= error.backtrace %></pre>
10
10
 
11
11
  <% if error.controller %>
12
+ <h3>Env</h3>
13
+ <% if Errorkit.config.format_errors && defined?(ap) %>
14
+ <%= ap(JSON.parse(error.request_env), indent: 2).html_safe rescue error.request_env %>
15
+ <% else %>
16
+ <pre style="white-space:pre-wrap"><%= error.request_env %></pre>
17
+ <% end %>
18
+
12
19
  <h3>Session</h3>
13
20
  <% if Errorkit.config.format_errors && defined?(ap) %>
14
21
  <%= ap(JSON.parse(error.session), indent: 2).html_safe rescue error.session %>
@@ -13,6 +13,7 @@ class CreateErrors < ActiveRecord::Migration
13
13
  t.string :controller
14
14
  t.string :action
15
15
  t.string :remote_ip
16
+ t.text :request_env
16
17
  t.text :session
17
18
  t.text :params
18
19
  t.string :worker
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: errorkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Rafter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-08 00:00:00.000000000 Z
11
+ date: 2014-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler