fleck 2.2.3 → 2.2.4
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/fleck/core/consumer/request.rb +21 -7
- data/lib/fleck/version.rb +1 -1
- metadata +3 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 815c6aedba7e3ab97a3c057f1d35b689f4e33a5015f147975095053feeca49fb
|
|
4
|
+
data.tar.gz: 655f4eb33edd3926c23694d407a1ffbecfaf40437a9273c08a26048a4ac73ffd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d0696f5d4131e441a32b73fdce0939ed1aa002562f8aa931f58407957890b53a769b59e9537ef6c366b6de2e2a6ec249eb5226cd388d0f0426033e32e31330e3
|
|
7
|
+
data.tar.gz: 7fa7d2da95225e18d4a826f62eed4ec23b57621656e8b1d9ad0e8ff21184c9a00da1babdbdb95c076b69e74cb170bcfd2652a0965f0a13f1856341439ff465ab
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
Below you can see the CHANGELOG of **Fleck** gem by version number.
|
|
8
8
|
|
|
9
|
+
#### v2.2.4 (17 September 2026) #####
|
|
10
|
+
|
|
11
|
+
- **FIX** Return a bad-request response for malformed consumer request JSON with native Oj and
|
|
12
|
+
`Oj.mimic_JSON` parser errors.
|
|
13
|
+
|
|
9
14
|
#### v2.2.0 (22 Dicember 2022) #####
|
|
10
15
|
|
|
11
16
|
- **NEW** Implemented the feature which allows to add a modifier `lambda` to `param` decorator,
|
|
@@ -74,7 +74,16 @@ module Fleck
|
|
|
74
74
|
protected
|
|
75
75
|
|
|
76
76
|
def parse_request!
|
|
77
|
-
|
|
77
|
+
begin
|
|
78
|
+
@data = Oj.load(@payload, mode: :compat)
|
|
79
|
+
rescue StandardError => e
|
|
80
|
+
raise unless json_parse_error?(e)
|
|
81
|
+
|
|
82
|
+
fail_request!(400, 'Bad Request', e)
|
|
83
|
+
return
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
@data = @data.to_hash_with_indifferent_access.filtered!
|
|
78
87
|
@headers.merge!(@data['headers'] || {}).filtered!
|
|
79
88
|
|
|
80
89
|
logger.debug "Request (exchange: #{@exchange.inspect}, queue: #{@queue.inspect}, " \
|
|
@@ -85,13 +94,18 @@ module Fleck
|
|
|
85
94
|
@version = @headers['version']
|
|
86
95
|
@ip = @headers['ip']
|
|
87
96
|
@params = @data['params'] || {}
|
|
88
|
-
rescue Oj::ParseError => e
|
|
89
|
-
log_error(e)
|
|
90
|
-
response.render_error(400, 'Bad request', e.inspect)
|
|
91
|
-
@failed = true
|
|
92
97
|
rescue StandardError => e
|
|
93
|
-
|
|
94
|
-
|
|
98
|
+
fail_request!(500, 'Internal Server Error', e)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def json_parse_error?(error)
|
|
102
|
+
error.is_a?(Oj::ParseError) || error.is_a?(EncodingError) ||
|
|
103
|
+
(defined?(JSON::ParserError) && error.is_a?(JSON::ParserError))
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def fail_request!(status, message, error)
|
|
107
|
+
log_error(error)
|
|
108
|
+
response.render_error(status, [message, error.inspect])
|
|
95
109
|
@failed = true
|
|
96
110
|
end
|
|
97
111
|
end
|
data/lib/fleck/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fleck
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.2.
|
|
4
|
+
version: 2.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Groza Sergiu
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: bundler
|
|
@@ -178,7 +177,6 @@ homepage: https://github.com/serioja90/fleck
|
|
|
178
177
|
licenses:
|
|
179
178
|
- MIT
|
|
180
179
|
metadata: {}
|
|
181
|
-
post_install_message:
|
|
182
180
|
rdoc_options: []
|
|
183
181
|
require_paths:
|
|
184
182
|
- lib
|
|
@@ -193,8 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
193
191
|
- !ruby/object:Gem::Version
|
|
194
192
|
version: '0'
|
|
195
193
|
requirements: []
|
|
196
|
-
rubygems_version:
|
|
197
|
-
signing_key:
|
|
194
|
+
rubygems_version: 4.0.16
|
|
198
195
|
specification_version: 4
|
|
199
196
|
summary: A Ruby gem for syncronous and asyncronous communication via Message Queue
|
|
200
197
|
services.
|