fleck 2.2.4 → 2.2.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 815c6aedba7e3ab97a3c057f1d35b689f4e33a5015f147975095053feeca49fb
4
- data.tar.gz: 655f4eb33edd3926c23694d407a1ffbecfaf40437a9273c08a26048a4ac73ffd
3
+ metadata.gz: 0d5ba87206bea64ea05db2e32d0d66e6a086c46fa00fbb9460f8cec9001d4b17
4
+ data.tar.gz: cec7743a444f2f6056f36f2d789d323f54c32fb6120828eaaf1252e0022f897e
5
5
  SHA512:
6
- metadata.gz: d0696f5d4131e441a32b73fdce0939ed1aa002562f8aa931f58407957890b53a769b59e9537ef6c366b6de2e2a6ec249eb5226cd388d0f0426033e32e31330e3
7
- data.tar.gz: 7fa7d2da95225e18d4a826f62eed4ec23b57621656e8b1d9ad0e8ff21184c9a00da1babdbdb95c076b69e74cb170bcfd2652a0965f0a13f1856341439ff465ab
6
+ metadata.gz: 6426315380da50b96552abf972dcbc167a1bcef9b3e19900094cb42ee2ffa0662cd146a39d10e69dfefb63dc57ff4655a9226d724cb83ba611e92e6b8b5e476d
7
+ data.tar.gz: ed2f0b3bdc60204c79c7ad4e0f5bda747ee54888d8921fb5c44991c37a2bac3ed95d5d82fa5a296a95ee1d68d9e3643a3f1190102b02a0cf32984e60bff15d73
data/CHANGELOG.md CHANGED
@@ -6,6 +6,10 @@
6
6
 
7
7
  Below you can see the CHANGELOG of **Fleck** gem by version number.
8
8
 
9
+ #### v2.2.5 (18 September 2026) #####
10
+
11
+ - **FIX** Keep unexpected exception details in server logs without exposing them in automatic 500 responses.
12
+
9
13
  #### v2.2.4 (17 September 2026) #####
10
14
 
11
15
  - **FIX** Return a bad-request response for malformed consumer request JSON with native Oj and
@@ -105,7 +105,9 @@ module Fleck
105
105
 
106
106
  def fail_request!(status, message, error)
107
107
  log_error(error)
108
- response.render_error(status, [message, error.inspect])
108
+ errors = [message]
109
+ errors << error.inspect if status < 500
110
+ response.render_error(status, errors)
109
111
  @failed = true
110
112
  end
111
113
  end
@@ -1,4 +1,3 @@
1
-
2
1
  module Fleck
3
2
  module Core
4
3
  class Consumer
@@ -30,6 +29,14 @@ module Fleck
30
29
  @deprecated
31
30
  end
32
31
 
32
+ def reset!
33
+ @status = 200
34
+ @errors = []
35
+ @headers = {}
36
+ @body = nil
37
+ @deprecated = false
38
+ end
39
+
33
40
  def not_found(msg = nil)
34
41
  @status = 404
35
42
  @errors << 'Resource Not Found'
@@ -51,25 +58,25 @@ module Fleck
51
58
 
52
59
  def to_json(filter: false)
53
60
  data = {
54
- "status" => @status,
55
- "errors" => @errors,
56
- "headers" => @headers,
57
- "body" => @body,
58
- "deprecated" => @deprecated
61
+ 'status' => @status,
62
+ 'errors' => @errors,
63
+ 'headers' => @headers,
64
+ 'body' => @body,
65
+ 'deprecated' => @deprecated
59
66
  }
60
67
  data.filter! if filter
61
68
 
62
- return Oj.dump(data, mode: :compat)
63
- rescue => e
69
+ Oj.dump(data, mode: :compat)
70
+ rescue StandardError => e
64
71
  logger.error e.inspect + "\n" + e.backtrace.join("\n")
65
- return Oj.dump({
66
- "status" => 500,
67
- "errors" => ['Internal Server Error', 'Failed to dump the response to JSON']
68
- }, mode: :compat)
72
+ Oj.dump({
73
+ 'status' => 500,
74
+ 'errors' => ['Internal Server Error', 'Failed to dump the response to JSON']
75
+ }, mode: :compat)
69
76
  end
70
77
 
71
78
  def to_s
72
- return "#<#{self.class} #{self.to_json(filter: true)}>"
79
+ "#<#{self.class} #{to_json(filter: true)}>"
73
80
  end
74
81
  end
75
82
  end
@@ -124,7 +124,8 @@ module Fleck
124
124
  end
125
125
  rescue StandardError => e
126
126
  log_error(e)
127
- internal_server_error! error: e.inspect, interrupt: false
127
+ response.reset!
128
+ internal_server_error! interrupt: false
128
129
  ensure
129
130
  send_response!
130
131
  log_request
data/lib/fleck/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Open `Fleck` module to set `VERSION` constant.
4
4
  module Fleck
5
- VERSION = '2.2.4'
5
+ VERSION = '2.2.5'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fleck
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.4
4
+ version: 2.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Groza Sergiu