rails-hush 2.0.1 → 2.2.0

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: b9c9a7040ec89a870ab1dfe8cc909b3f34ef32ef8449c09d85b122ef5b37e803
4
- data.tar.gz: 29740fa9f1eb2f1e4bfbc3f6ccf1bb9174c2bf07098b67942949e1913b0f818c
3
+ metadata.gz: 5533ef601892c2d0fe8a172fa63d5e3cca4ef4e982b908d41534bfefffdda8c8
4
+ data.tar.gz: 8ae7d447cefb94b96f21a1153b3acdde15d252bc3c5b0a290b7cff18af093c09
5
5
  SHA512:
6
- metadata.gz: 427f57e8bb14e09074dec074744c2bbd6c12fe216658c4edf4f9edfab8003d3132316d37e6ca1796dfee4d0e43127bece4b3c7e9a448ab2df476db56c4fe1951
7
- data.tar.gz: 2deab703a635d8de86ada4b2962960d7c66be29bb77ed7a5f82adfe4a6d5ad0195fca42cbfea78df86638b918cea38b77cc2fb46dae2d7879855a54c955197de
6
+ metadata.gz: 7ab7318331a10f7b660f9859b95287ac96a9328513dec2f6dadfb370930329f06b2f8eca5bc928a54d2b9f46c7c65b05ecd5369a1de7a4b3bbc625e1b5f7574f
7
+ data.tar.gz: a47e1a48cfd947c0d9327cdf2de2ef37bd06c42d255a1963f8482e358a7a4f544ef67cd5acfdc285ca36bb87f6aaa7f1a270b8f23638c198cd5cb78e1bae352e
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2019-2025 thomas morgan
1
+ Copyright 2019-2026 thomas morgan
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -15,6 +15,8 @@ module RailsHush
15
15
  @app.call(env)
16
16
  rescue ActionController::UnknownHttpMethod
17
17
  render 405, request, 'Unrecognized HTTP method'
18
+ rescue Encoding::CompatibilityError
19
+ render 400, request, 'Invalid string or encoding'
18
20
  end
19
21
  else
20
22
  @app.call(env)
@@ -23,10 +23,14 @@ module RailsHush
23
23
  if x.message =~ /(Invalid encoding for parameter|invalid %-encoding)/
24
24
  log_request 400, request
25
25
  render 400, request, 'Invalid string or encoding'
26
+ elsif x.message =~ /Rack::Multipart::EmptyContentError|bad content body/
27
+ log_request 400, request
28
+ render 400, request, 'Unable to parse request body'
26
29
  else
27
30
  raise x
28
31
  end
29
- rescue ActionDispatch::Http::Parameters::ParseError
32
+ rescue ActionDispatch::Http::Parameters::ParseError,
33
+ Rack::Multipart::BoundaryTooLongError
30
34
  log_request 400, request
31
35
  render 400, request, 'Unable to parse request body'
32
36
  rescue ActionController::RoutingError => x
@@ -42,7 +46,7 @@ module RailsHush
42
46
  render 406, request, 'Invalid media type'
43
47
  rescue ActionController::ParameterMissing => x
44
48
  render 422, request, "Required parameter missing or empty: #{x.param}"
45
- rescue ActionController::InvalidAuthenticityToken
49
+ rescue (Rails.version > '8.2' ? ActionController::InvalidCrossOriginRequest : ActionController::InvalidAuthenticityToken)
46
50
  render 422, request, 'Invalid CSRF token'
47
51
  end
48
52
  else
@@ -16,7 +16,9 @@ module RailsHush
16
16
  def render(status, request, error=nil)
17
17
  begin
18
18
  content_type = request.formats.first
19
- rescue Mime::Type::InvalidMimeType
19
+ rescue Mime::Type::InvalidMimeType,
20
+ Encoding::CompatibilityError,
21
+ Rack::Multipart::BoundaryTooLongError
20
22
  content_type = Mime[:text]
21
23
  end
22
24
  error ||= Rack::Utils::HTTP_STATUS_CODES.fetch(status, Rack::Utils::HTTP_STATUS_CODES[500])
@@ -1,3 +1,3 @@
1
1
  module RailsHush
2
- VERSION = '2.0.1'
2
+ VERSION = '2.2.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-hush
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - thomas morgan
@@ -18,7 +18,7 @@ dependencies:
18
18
  version: '7'
19
19
  - - "<"
20
20
  - !ruby/object:Gem::Version
21
- version: '8.2'
21
+ version: '8.3'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,7 +28,7 @@ dependencies:
28
28
  version: '7'
29
29
  - - "<"
30
30
  - !ruby/object:Gem::Version
31
- version: '8.2'
31
+ version: '8.3'
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: sqlite3
34
34
  requirement: !ruby/object:Gem::Requirement