schneiderlein 3.0.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -2
- data/lib/schneiderlein/catch.rb +1 -2
- data/lib/schneiderlein/engine.rb +2 -6
- data/lib/schneiderlein/extract_rexml_error_message.rb +4 -2
- data/lib/schneiderlein/fly_catcher.rb +0 -1
- data/lib/schneiderlein/version.rb +1 -1
- data/lib/schneiderlein.rb +0 -1
- metadata +15 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b5e95d7cafb3643022c7cc317c4320d45365c7d231bee21c6cf6b5b93784afa
|
4
|
+
data.tar.gz: 4797c2da7ad4d53fe236783efd559c757bf2d0c0e52c4e28634743a12779d4ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b493d3462991010d6f90259012d355c0c9496c8502bbae1ba61571d0ebede9cb949fbf6fd1db3319155ffe4e6215268cf2e2a1612d02409acab6319c2064bfc1
|
7
|
+
data.tar.gz: 9d7b0d23e58d03d4975c3661d1924ec2d1f7da700930764226e410ad8d587ebbeb54078dcb72cc699fd152898d1b2a753343a1ee918793d6607db0f9b36fa95d
|
data/README.md
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# Schneiderlein
|
2
|
-
|
3
|
-
[![Build Status](https://travis-ci.org/Absolventa/schneiderlein.svg?branch=master)](https://travis-ci.org/Absolventa/schneiderlein)
|
2
|
+
![Build Status](https://github.com/absolventa/schneiderlein/actions/workflows/ci.yml/badge.svg)
|
4
3
|
[![Gem Version](https://badge.fury.io/rb/schneiderlein.svg)](http://badge.fury.io/rb/schneiderlein)
|
5
4
|
|
6
5
|
**Schneiderlein** is a Rack middleware to catch parse errors coming from [ActionDispatch::ParamsParser](https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/middleware/params_parser.rb). Malformed XML presents a 500 Internal Server Error to your API consumer. It's hardly meaningful, should instead be in the 4xx range and most importantly: it's not helping.
|
@@ -33,6 +32,12 @@ The name **Schneiderlein** is derived from the fairytale »Das Tapfere Schneider
|
|
33
32
|
|
34
33
|
## Changelog
|
35
34
|
|
35
|
+
### 4.0.0
|
36
|
+
* Drop support for Rails below 6.1
|
37
|
+
* Drop support for Ruby below 3.0
|
38
|
+
* Add support for Rails 7.+
|
39
|
+
* Switch from Travis CI to GitHub Actions
|
40
|
+
|
36
41
|
### 3.0.0
|
37
42
|
* Drop support for Rails below 5.2
|
38
43
|
* Add support for Rails 6.+
|
data/lib/schneiderlein/catch.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
module Schneiderlein
|
3
2
|
class Catch
|
4
3
|
delegate :any?, :empty?, to: :errors
|
@@ -16,7 +15,7 @@ module Schneiderlein
|
|
16
15
|
alias errors to_a
|
17
16
|
|
18
17
|
def to_s
|
19
|
-
to_a.map do |exc|
|
18
|
+
to_a.dup.map do |exc|
|
20
19
|
ExtractREXMLErrorMessage.new(exc).to_s
|
21
20
|
end.join(' ')
|
22
21
|
end
|
data/lib/schneiderlein/engine.rb
CHANGED
@@ -1,19 +1,15 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
module Schneiderlein
|
3
2
|
class Engine < ::Rails::Engine
|
4
3
|
isolate_namespace Schneiderlein
|
5
4
|
|
6
5
|
initializer 'schneiderlein.middleware' do |app|
|
7
6
|
if Rails::VERSION::MAJOR < 5
|
8
|
-
app.config.middleware.insert_before
|
9
|
-
'ActionDispatch::ParamsParser', 'Schneiderlein::FlyCatcher'
|
7
|
+
app.config.middleware.insert_before 'ActionDispatch::ParamsParser', 'Schneiderlein::FlyCatcher'
|
10
8
|
else
|
11
9
|
# ActionDispatch::ParamsParser is not included in the middleware
|
12
10
|
# stack anymore in Rails 5.
|
13
|
-
app.config.middleware.insert_after
|
14
|
-
ActionDispatch::Callbacks, Schneiderlein::FlyCatcher
|
11
|
+
app.config.middleware.insert_after ActionDispatch::Callbacks, Schneiderlein::FlyCatcher
|
15
12
|
end
|
16
13
|
end
|
17
14
|
end
|
18
|
-
|
19
15
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
module Schneiderlein
|
3
2
|
class ExtractREXMLErrorMessage < Struct.new(:exception)
|
4
3
|
|
@@ -9,7 +8,10 @@ module Schneiderlein
|
|
9
8
|
private
|
10
9
|
|
11
10
|
def sanitizer(str)
|
12
|
-
|
11
|
+
string = str.to_s.dup
|
12
|
+
string = string.gsub('#<REXML::ParseException: ', '')
|
13
|
+
string = string.to_s[0..string.to_s.index('Last').to_i-2]
|
14
|
+
string
|
13
15
|
end
|
14
16
|
|
15
17
|
end
|
data/lib/schneiderlein.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schneiderlein
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carsten Zimmermann
|
8
8
|
- Robin Neumann
|
9
|
-
|
9
|
+
- Daniel Schoppmann
|
10
|
+
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date:
|
13
|
+
date: 2022-09-23 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: rails
|
@@ -17,20 +18,20 @@ dependencies:
|
|
17
18
|
requirements:
|
18
19
|
- - ">="
|
19
20
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
21
|
+
version: 6.0.0
|
21
22
|
- - "<"
|
22
23
|
- !ruby/object:Gem::Version
|
23
|
-
version: '
|
24
|
+
version: '8.0'
|
24
25
|
type: :runtime
|
25
26
|
prerelease: false
|
26
27
|
version_requirements: !ruby/object:Gem::Requirement
|
27
28
|
requirements:
|
28
29
|
- - ">="
|
29
30
|
- !ruby/object:Gem::Version
|
30
|
-
version:
|
31
|
+
version: 6.0.0
|
31
32
|
- - "<"
|
32
33
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
34
|
+
version: '8.0'
|
34
35
|
- !ruby/object:Gem::Dependency
|
35
36
|
name: appraisal
|
36
37
|
requirement: !ruby/object:Gem::Requirement
|
@@ -65,19 +66,20 @@ dependencies:
|
|
65
66
|
requirements:
|
66
67
|
- - "~>"
|
67
68
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
69
|
+
version: 5.1.2
|
69
70
|
type: :development
|
70
71
|
prerelease: false
|
71
72
|
version_requirements: !ruby/object:Gem::Requirement
|
72
73
|
requirements:
|
73
74
|
- - "~>"
|
74
75
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
76
|
+
version: 5.1.2
|
76
77
|
description: Rescues from ActionDispatch::ParamsParser and continues in middleware
|
77
78
|
stack
|
78
79
|
email:
|
79
80
|
- cz@aegisnet.de
|
80
81
|
- robin.neumann@absolventa.de
|
82
|
+
- daniel.schoppmann@gmail.com
|
81
83
|
executables: []
|
82
84
|
extensions: []
|
83
85
|
extra_rdoc_files: []
|
@@ -101,7 +103,7 @@ homepage: https://github.com/Absolventa/schneiderlein
|
|
101
103
|
licenses:
|
102
104
|
- MIT
|
103
105
|
metadata: {}
|
104
|
-
post_install_message:
|
106
|
+
post_install_message:
|
105
107
|
rdoc_options: []
|
106
108
|
require_paths:
|
107
109
|
- lib
|
@@ -109,15 +111,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
109
111
|
requirements:
|
110
112
|
- - ">="
|
111
113
|
- !ruby/object:Gem::Version
|
112
|
-
version:
|
114
|
+
version: 3.0.0
|
113
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
116
|
requirements:
|
115
117
|
- - ">="
|
116
118
|
- !ruby/object:Gem::Version
|
117
119
|
version: '0'
|
118
120
|
requirements: []
|
119
|
-
rubygems_version: 3.
|
120
|
-
signing_key:
|
121
|
+
rubygems_version: 3.3.7
|
122
|
+
signing_key:
|
121
123
|
specification_version: 4
|
122
124
|
summary: Rack middleware that rescues from ActionDispatch::ParamsParser
|
123
125
|
test_files: []
|