rack-timeout 0.6.0 → 0.6.3

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
2
  SHA256:
3
- metadata.gz: 45a8b583f5c8ec73b0659348e53083fd449d1ae732c020c45ab3decfd4d7c913
4
- data.tar.gz: 832b443cc5678f0c55df7a8c741dc2f5304e024da77f021ecbaa352c03279e51
3
+ metadata.gz: 9227dd3e15be49573b85cff836c363d2046d91167d7a3f5731f7002550912beb
4
+ data.tar.gz: 5454236eff00e74096e5d6818ff80fc0663d12d3f52848847e5fefb02d5110cd
5
5
  SHA512:
6
- metadata.gz: 2279854e2ca96bc0fa0c9e6fe4a67a4d217f79df5840b59cf36b97518ddab7823a134c15fe1e527ce1a24972ee9113825bb58d52520accdcb7dc2a3d8147cb16
7
- data.tar.gz: 00651f0c2e2449d490e88db4cf7d899f1287f22bc531fc4c22270024790635b552119572847de65a1933a5b7e4e6514c530a33b0689c02d6aeb34e73de392245
6
+ metadata.gz: fdb616f8274f70fffc7a0aef4c4ffc8bcadba8fd0968a58980e2027c3b7131aebf34f49c5d8cf7f69d871deccb27785dc671524501b7021a5f152314a62a4309
7
+ data.tar.gz: 0ce8bf83eb28973c064a56da114c32276dcc5961a5a761f46850c0e48d39170361f1dcb6ac483e1284bf703c819ba6c84a8b2c6329a207b03266b558e37b87d0
data/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ ## HEAD (unreleased)
2
+
3
+ ## 0.6.3
4
+
5
+ - Fix `NoMethodError: undefined method 'logger' for Rails:Module` when Rails is defined as a Module, but is not a full Rails app (https://github.com/zombocom/rack-timeout/pull/180)
6
+
7
+ ## 0.6.2
8
+
9
+ - Migrate CI from Travis CI to GitHub Actions (https://github.com/zombocom/rack-timeout/pull/182)
10
+ - Rails 7+ support (https://github.com/zombocom/rack-timeout/pull/184)
11
+
12
+ ## 0.6.1
13
+
14
+ - RACK_TIMEOUT_TERM_ON_TIMEOUT can be set to zero to disable (https://github.com/sharpstone/rack-timeout/pull/161)
15
+ - Update the gemspec's homepage to the current repo URL(https://github.com/zombocom/rack-timeout/pull/183)
16
+
1
17
  ## 0.6.0
2
18
 
3
19
  - Allow sending SIGTERM to workers on timeout (https://github.com/sharpstone/rack-timeout/pull/157)
data/README.md CHANGED
@@ -114,5 +114,5 @@ for Rails apps, Rails 3.x and up.
114
114
 
115
115
 
116
116
  ---
117
- Copyright © 2010-2016 Caio Chassot, released under the MIT license
118
- <http://github.com/heroku/rack-timeout>
117
+ Copyright © 2010-2020 Caio Chassot, released under the MIT license
118
+ <http://github.com/sharpstone/rack-timeout>
data/doc/settings.md CHANGED
@@ -59,7 +59,7 @@ If your application timeouts fire frequently then [they can cause your applicati
59
59
 
60
60
  After the worker process exists will Puma's parent process know to boot a replacement worker. While one process is restarting, another can still serve requests (if you have more than 1 worker process per server/dyno). Between when a process exits and when a new process boots, there will be a reduction in throughput. If all processes are restarting, then incoming requests will be blocked while new processes boot.
61
61
 
62
- **How to enable** To enable this behavior you can set `term_on_timeout: 1` to an integer value. If you set it to zero or one, then the first time the process encounters a timeout, it will receive a SIGTERM.
62
+ **How to enable** To enable this behavior you can set `term_on_timeout: 1` to an integer value. If you set it to one, then the first time the process encounters a timeout, it will receive a SIGTERM.
63
63
 
64
64
  To enable on Heroku run:
65
65
 
@@ -53,8 +53,6 @@ module Rack
53
53
  when nil ; read_timeout_property default, default
54
54
  when false ; false
55
55
  when 0 ; false
56
- when String
57
- read_timeout_property value.to_i, default
58
56
  else
59
57
  value.is_a?(Numeric) && value > 0 or raise ArgumentError, "value #{value.inspect} should be false, zero, or a positive number."
60
58
  value
@@ -69,7 +67,7 @@ module Rack
69
67
  :term_on_timeout
70
68
 
71
69
  def initialize(app, service_timeout:nil, wait_timeout:nil, wait_overtime:nil, service_past_wait:"not_specified", term_on_timeout: nil)
72
- @term_on_timeout = read_timeout_property term_on_timeout, ENV.fetch("RACK_TIMEOUT_TERM_ON_TIMEOUT", false)
70
+ @term_on_timeout = read_timeout_property term_on_timeout, ENV.fetch("RACK_TIMEOUT_TERM_ON_TIMEOUT", 0).to_i
73
71
  @service_timeout = read_timeout_property service_timeout, ENV.fetch("RACK_TIMEOUT_SERVICE_TIMEOUT", 15).to_i
74
72
  @wait_timeout = read_timeout_property wait_timeout, ENV.fetch("RACK_TIMEOUT_WAIT_TIMEOUT", 30).to_i
75
73
  @wait_overtime = read_timeout_property wait_overtime, ENV.fetch("RACK_TIMEOUT_WAIT_OVERTIME", 60).to_i
@@ -77,7 +75,6 @@ module Rack
77
75
 
78
76
  Thread.main['RACK_TIMEOUT_COUNT'] ||= 0
79
77
  if @term_on_timeout
80
- raise "term_on_timeout must be an integer but is #{@term_on_timeout.class}: #{@term_on_timeout}" unless @term_on_timeout.is_a?(Numeric)
81
78
  raise "Current Runtime does not support processes" unless ::Process.respond_to?(:fork)
82
79
  end
83
80
  @app = app
@@ -32,7 +32,7 @@ class Rack::Timeout::StateChangeLoggingObserver
32
32
 
33
33
  def logger(env = nil)
34
34
  @logger ||
35
- (defined?(::Rails) && ::Rails.logger) ||
35
+ (defined?(::Rails) && ::Rails.respond_to?(:logger) && ::Rails.logger) ||
36
36
  (env && !env["rack.logger"].is_a?(::Rack::NullLogger) && env["rack.logger"]) ||
37
37
  (env && env["rack.errors"] && self.class.mk_logger(env["rack.errors"])) ||
38
38
  (@fallback_logger ||= self.class.mk_logger($stderr))
data/lib/rack-timeout.rb CHANGED
@@ -1,2 +1,2 @@
1
1
  require_relative "rack/timeout/base"
2
- require_relative "rack/timeout/rails" if defined?(Rails) && [3,4,5,6].include?(Rails::VERSION::MAJOR)
2
+ require_relative "rack/timeout/rails" if defined?(Rails) && Rails::VERSION::MAJOR >= 3
data/test/test_helper.rb CHANGED
@@ -15,7 +15,7 @@ class RackTimeoutTest < Test::Unit::TestCase
15
15
  def app
16
16
  settings = self.settings
17
17
  Rack::Builder.new do
18
- use Rack::Timeout, settings
18
+ use Rack::Timeout, **settings
19
19
 
20
20
  map "/" do
21
21
  run lambda { |env| [200, {'Content-Type' => 'text/plain'}, ['OK']] }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-timeout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Caio Chassot
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-11 00:00:00.000000000 Z
11
+ date: 2022-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -86,15 +86,15 @@ files:
86
86
  - test/basic_test.rb
87
87
  - test/env_settings_test.rb
88
88
  - test/test_helper.rb
89
- homepage: https://github.com/sharpstone/rack-timeout
89
+ homepage: https://github.com/zombocom/rack-timeout
90
90
  licenses:
91
91
  - MIT
92
92
  metadata:
93
- bug_tracker_uri: https://github.com/sharpstone/rack-timeout/issues
94
- changelog_uri: https://github.com/sharpstone/rack-timeout/blob/v0.6.0/CHANGELOG.md
95
- documentation_uri: https://rubydoc.info/gems/rack-timeout/0.6.0/
96
- source_code_uri: https://github.com/sharpstone/rack-timeout
97
- post_install_message:
93
+ bug_tracker_uri: https://github.com/zombocom/rack-timeout/issues
94
+ changelog_uri: https://github.com/zombocom/rack-timeout/blob/v0.6.3/CHANGELOG.md
95
+ documentation_uri: https://rubydoc.info/gems/rack-timeout/0.6.3/
96
+ source_code_uri: https://github.com/zombocom/rack-timeout
97
+ post_install_message:
98
98
  rdoc_options: []
99
99
  require_paths:
100
100
  - lib
@@ -109,8 +109,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  requirements: []
112
- rubygems_version: 3.0.6
113
- signing_key:
112
+ rubygems_version: 3.3.7
113
+ signing_key:
114
114
  specification_version: 4
115
115
  summary: Abort requests that are taking too long
116
116
  test_files: