trouble 0.0.8 → 0.0.9

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
- SHA1:
3
- metadata.gz: 385a1d14bba43650b0d1eab6242c2bbc2ef5518e
4
- data.tar.gz: 2c70dd8eaa6b16d4ea536fbef4c613ecc3457241
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: 5de7d3db6b48ffb51de7e4c9a253081946e8e45a
4
+ data.tar.gz: 4c0bf0a4ea848ad1c9a07430488732c1a2eb1ac9
5
5
  SHA512:
6
- metadata.gz: 7259cd4af52683080e9219b5422f8f6da4566c7bc0bc514d011c68932e8011952a24b6708ccbf33045cf6e6a3eb9dacedf8bd86370e0312e7ccbab583c6e674f
7
- data.tar.gz: 6a865df007417556510d93166712d87e9763ca1d97354c82fd29a457cdd2821c791e786ddcb4ab631329a88a858052ca452c7c08874a9c21ff87ffa7587e2a35
6
+ metadata.gz: 4704a268db5f36d76f104d8aaeb1fe6f558ade61db389ee449a1ea7fb1487eddfb629bbd8b5597d0ceeba013aa6ae830f7c70c75035fdbb7507e480077ed9e7a
7
+ data.tar.gz: e29cea69f56a8f6f5fbdfedffc52eb92dceb93514f2cc664df51a4fc273603b63220f1deeaff7c161238612a261afeee8c43e671ffb5089ad70c9fa126e58cdd
@@ -0,0 +1,27 @@
1
+ module Trouble
2
+ class Middleware
3
+
4
+ def initialize(app)
5
+ @app = app
6
+ end
7
+
8
+ def call(env)
9
+ # calling env.dup here prevents bad things from happening
10
+ request = Rack::Request.new(env.dup)
11
+ # calling request.params is sufficient to trigger the "invalid %-encoding" error
12
+ # see https://github.com/rack/rack/issues/337#issuecomment-46453404
13
+ request.params
14
+ @app.call(env)
15
+
16
+ rescue ArgumentError => exception
17
+ raise unless exception.message.include?('invalid %-encoding')
18
+ return [400, {}, ['']]
19
+
20
+ rescue => exception
21
+ logger.fatal [$!.class, $!.message, $!.backtrace[2..5]].join("\n")
22
+ ::Trouble.notify exception
23
+ raise
24
+ end
25
+
26
+ end
27
+ end
@@ -2,7 +2,7 @@ module Trouble
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- TINY = 8
5
+ TINY = 9
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].compact.join('.')
8
8
  end
data/lib/trouble.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'trouble/configuration'
2
+ require 'trouble/middleware'
2
3
 
3
4
  # A generic wrapper to report errors and Exceptions.
4
5
  #
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trouble
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - bukowskis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-05 00:00:00.000000000 Z
11
+ date: 2015-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: guard-rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rb-fsevent
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  description: A generic abstraction layer for reporting errors and Exceptions. This
@@ -64,6 +64,7 @@ files:
64
64
  - README.md
65
65
  - lib/trouble.rb
66
66
  - lib/trouble/configuration.rb
67
+ - lib/trouble/middleware.rb
67
68
  - lib/trouble/version.rb
68
69
  - spec/lib/trouble_spec.rb
69
70
  - spec/spec_helper.rb
@@ -73,18 +74,18 @@ licenses:
73
74
  metadata: {}
74
75
  post_install_message:
75
76
  rdoc_options:
76
- - "--encoding"
77
+ - --encoding
77
78
  - UTF-8
78
79
  require_paths:
79
80
  - lib
80
81
  required_ruby_version: !ruby/object:Gem::Requirement
81
82
  requirements:
82
- - - ">="
83
+ - - ! '>='
83
84
  - !ruby/object:Gem::Version
84
85
  version: '0'
85
86
  required_rubygems_version: !ruby/object:Gem::Requirement
86
87
  requirements:
87
- - - ">="
88
+ - - ! '>='
88
89
  - !ruby/object:Gem::Version
89
90
  version: '0'
90
91
  requirements: []
@@ -94,3 +95,4 @@ signing_key:
94
95
  specification_version: 4
95
96
  summary: A generic abstraction layer for reporting errors and Exceptions.
96
97
  test_files: []
98
+ has_rdoc: