upfluence-utils 0.12.5 → 0.12.7

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: 8cc751a8c15d5d50d5a4e6233925f5842b6b5253f99f88794e9ce5764f3b0fd6
4
+ data.tar.gz: c8da722fb01f9d4ceebb537fd8b94e3abbde514d4c8d9a71a71659ebc9b4e2bb
5
5
  SHA512:
6
- metadata.gz: 65de01e77b79862bb4ff1745e21d5cf96ba725a68cffd6239af06ad94c480588f4654b74be47e0db74f0179e03180dc7fbfa4e6ec251097a33ad3185d49d5b24
7
- data.tar.gz: 8dd88b7f62b378c1cf656c90703f0b20b321b935d7ba758b21af5cc549a1e50ec793c3c5e8d7bc754a779108c48a544ee0ef50a7ca87a4a2d12fc9ea0def0a03
6
+ metadata.gz: 56eca8dbd6e79313f6901e0381d804556a138485b13dbcedf0724fa72d418417eb225929c42621b4279dffa281605aa37212913d84e49f71de4c3b6a5f3d5407
7
+ data.tar.gz: b3fc2813b90ba677a41078ccb7b3f940e0d2fe20470679eec30b5340423348a4481a7433d4677e26b5d41fa356e092c8170feb9601e9628121e0998dc22cdb0e
@@ -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
  }
@@ -53,10 +58,16 @@ module Upfluence
53
58
  use Middleware::RequestStapler
54
59
  use Middleware::Logger
55
60
  use Middleware::Prometheus
56
- use Prometheus::Middleware::Exporter if opts[:prometheus_endpoint]
57
61
  use Middleware::ApplicationHeaders, base_handler
58
62
  use Middleware::HandleException
63
+
64
+ if opts[:request_timeout]
65
+ use Rack::Timeout, service_timeout: opts[:request_timeout]
66
+ end
67
+
59
68
  use Upfluence.error_logger.middleware
69
+ use Prometheus::Middleware::Exporter if opts[:prometheus_endpoint]
70
+
60
71
  use Rack::ContentLength
61
72
  use Rack::Chunked
62
73
  use Rack::Lint if Upfluence.env.development?
@@ -64,7 +75,7 @@ module Upfluence
64
75
  use Rack::ETag
65
76
  use Middleware::CORS if Upfluence.env.development?
66
77
 
67
- (DEFAULT_MIDDLEWARES || opts[:middlewares]).each do |m|
78
+ (DEFAULT_MIDDLEWARES + opts[:middlewares]).each do |m|
68
79
  m = [m] unless m.is_a?(Array)
69
80
  use(*m)
70
81
  end
@@ -1,5 +1,5 @@
1
1
  module Upfluence
2
2
  module Utils
3
- VERSION = '0.12.5'.freeze
3
+ VERSION = '0.12.7'.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.7
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-02 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