upfluence-utils 0.12.5 → 0.12.6

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: 352554519b5da13212f848debbb4f81bb61d3b495e6eac73aaa3c9ca9d9f91bd
4
- data.tar.gz: f4c1159efc4a9dbbcd370a4c42e1b943ac95f022cb8e8f7b3ebd7570ca30a04b
3
+ metadata.gz: ea9c2d716e73e1b7e75c956697b57490c5f186dc7dc6fbce331b8c9dec57ca59
4
+ data.tar.gz: 4d77fded409b2ed689b8bd3dc8f4ff4c464474ac130d7e1437b67ccd37e48429
5
5
  SHA512:
6
- metadata.gz: 65de01e77b79862bb4ff1745e21d5cf96ba725a68cffd6239af06ad94c480588f4654b74be47e0db74f0179e03180dc7fbfa4e6ec251097a33ad3185d49d5b24
7
- data.tar.gz: 8dd88b7f62b378c1cf656c90703f0b20b321b935d7ba758b21af5cc549a1e50ec793c3c5e8d7bc754a779108c48a544ee0ef50a7ca87a4a2d12fc9ea0def0a03
6
+ metadata.gz: b61684b170e6fa36e93189d58866cd359d3a83bf12fa58d89b4c881451f947a637c4bf6b6f84adb592f4018d544e0486474277c9dc21270aceabee27c9bd7656
7
+ data.tar.gz: 6451711114ae81c5e04be67c97df30978cb87ef3873df55f648c7cc2ee7675bf33fa00da6e4d555354c638a1be6a1f2df0e22abe0ddaad551ee9778211b7881f
@@ -1,11 +1,13 @@
1
1
  require 'rack/handler'
2
2
  require 'rack/etag'
3
+ require 'rack/timeout/base'
3
4
  require 'prometheus/client'
4
5
  require 'prometheus/client/push'
5
6
  require "prometheus/middleware/exporter"
6
7
 
7
8
  require 'upfluence/environment'
8
9
  require 'upfluence/error_logger'
10
+ require 'upfluence/logger'
9
11
 
10
12
  require 'upfluence/http/builder'
11
13
  require 'upfluence/http/endpoint/healthcheck'
@@ -17,6 +19,8 @@ require 'upfluence/http/middleware/prometheus'
17
19
  require 'upfluence/http/middleware/cors'
18
20
  require 'upfluence/http/middleware/request_stapler'
19
21
 
22
+ Rack::Timeout::Logger.disable
23
+
20
24
  module Upfluence
21
25
  module HTTP
22
26
  class Server
@@ -36,6 +40,7 @@ module Upfluence
36
40
  base_processor_klass: nil,
37
41
  base_handler_klass: nil,
38
42
  max_threads: ENV.fetch('HTTP_SERVER_MAX_THREADS', 5).to_i,
43
+ request_timeout: ENV['HTTP_SERVER_REQUEST_TIMEOUT']&.to_i,
39
44
  middlewares: [],
40
45
  debug: ENV.fetch('DEBUG', nil)
41
46
  }
@@ -50,6 +55,10 @@ module Upfluence
50
55
  end
51
56
 
52
57
  @builder = Builder.new do
58
+ if opts[:request_timeout]
59
+ use Rack::Timeout, service_timeout: opts[:request_timeout]
60
+ end
61
+
53
62
  use Middleware::RequestStapler
54
63
  use Middleware::Logger
55
64
  use Middleware::Prometheus
@@ -64,7 +73,7 @@ module Upfluence
64
73
  use Rack::ETag
65
74
  use Middleware::CORS if Upfluence.env.development?
66
75
 
67
- (DEFAULT_MIDDLEWARES || opts[:middlewares]).each do |m|
76
+ (DEFAULT_MIDDLEWARES + opts[:middlewares]).each do |m|
68
77
  m = [m] unless m.is_a?(Array)
69
78
  use(*m)
70
79
  end
@@ -1,5 +1,5 @@
1
1
  module Upfluence
2
2
  module Utils
3
- VERSION = '0.12.5'.freeze
3
+ VERSION = '0.12.6'.freeze
4
4
  end
5
5
  end
data/rbutils.gemspec CHANGED
@@ -33,4 +33,5 @@ Gem::Specification.new do |spec|
33
33
  spec.add_runtime_dependency 'userializer'
34
34
  spec.add_runtime_dependency 'activerecord'
35
35
  spec.add_runtime_dependency 'loofah'
36
+ spec.add_runtime_dependency 'rack-timeout'
36
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upfluence-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.5
4
+ version: 0.12.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Upfluence
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-30 00:00:00.000000000 Z
11
+ date: 2023-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -234,6 +234,20 @@ dependencies:
234
234
  - - ">="
235
235
  - !ruby/object:Gem::Version
236
236
  version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: rack-timeout
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
237
251
  description:
238
252
  email:
239
253
  - dev@upfluence.com
@@ -309,7 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
309
323
  - !ruby/object:Gem::Version
310
324
  version: '0'
311
325
  requirements: []
312
- rubygems_version: 3.2.32
326
+ rubygems_version: 3.3.3
313
327
  signing_key:
314
328
  specification_version: 4
315
329
  summary: Upfluence common utils for Ruby projects