upfluence-utils 0.12.5 → 0.12.6

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: 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