upfluence-utils 0.7.2 → 0.8.0

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: 43f3f95b490a3c99f889f669ee021b0507b3675375edcf9109e00da1c21ee3c4
4
- data.tar.gz: 8283a5a34eee43ca112ac1c1855715d83fc234c0e0b42598cde0dcd5d25ca76b
3
+ metadata.gz: 9ceaeab38d91b29c5642efd418464634aff70d4b856e81838119cfb9bb51ea07
4
+ data.tar.gz: d1bfcabd937fd21089a5a612c978975bfb076c247281b7e120be395898a85fc4
5
5
  SHA512:
6
- metadata.gz: c78a34273c1cf57982cf9de5f91ea0059352302ff19ba8df90c55bb99aa70cae56113ced7a7aa94a7ef8ddc58320b5f45d1cc03c944733ce888245fdfa7f6b9d
7
- data.tar.gz: 9aaff54cd0bfa01aa26749fc6c5aff3a2d024b61ed64eddf57bc1104ad1e530e185ca066a4d38f4636e1ec99f4d952a9a70d5a3a8660e421e206cdada4bebce1
6
+ metadata.gz: dc7bca3bd0914d787e15e30900705037a845f98311df404e4a40f0f016241bd014691a235c340b543a30b51fc477eca413cadd49889e9ed36bf6c30e4a2bf4eb
7
+ data.tar.gz: 14d6565989fff758bb50662eb7dfbb2e2e9423469f85656a4cf78c3eac0ca7ceaaa6ed620f72335c3c747ceb495bd96bf85c9c1e8d28733359e2c70d04fc9c86
@@ -1,4 +1,6 @@
1
1
  require 'sinatra'
2
+ require 'active_record'
3
+ require 'active_support/hash_with_indifferent_access'
2
4
 
3
5
  module Upfluence
4
6
  module HTTP
@@ -31,9 +33,9 @@ module Upfluence
31
33
  token = params[:access_token]
32
34
 
33
35
  unless token
34
- pattern = /^Bearer /
35
- header = request.env['HTTP_AUTHORIZATION']
36
- token = header.gsub(pattern, '') if header && header.match(pattern)
36
+ pattern = /^Bearer /
37
+ header = request.env['HTTP_AUTHORIZATION']
38
+ token = header.gsub(pattern, '') if header&.match(pattern)
37
39
  end
38
40
 
39
41
  token
@@ -50,13 +52,17 @@ module Upfluence
50
52
  opts = args.first || {}
51
53
 
52
54
  result = if resource.is_a? Enumerable
53
- USerializer::ArraySerializer.new(resource, *args).to_json
55
+ USerializer::ArraySerializer.new(
56
+ resource, *args
57
+ ).to_json
54
58
  elsif opts[:serializer]
55
59
  opts[:serializer].new(resource, *args).to_json
56
60
  elsif resource.respond_to?(:serialize)
57
61
  resource.serialize(*args).to_json
58
62
  else
59
- USerializer.serializer_for(resource).new(resource, *args).to_json
63
+ USerializer.serializer_for(resource).new(
64
+ resource, *args
65
+ ).to_json
60
66
  end
61
67
  end
62
68
 
@@ -64,7 +70,9 @@ module Upfluence
64
70
  end
65
71
 
66
72
  def json_params
67
- ActiveSupport::HashWithIndifferentAccess.new(JSON.parse(request_body))
73
+ ActiveSupport::HashWithIndifferentAccess.new(
74
+ JSON.parse(request_body)
75
+ )
68
76
  end
69
77
  end
70
78
 
@@ -5,6 +5,8 @@ module Upfluence
5
5
  module HTTP
6
6
  module Middleware
7
7
  class Prometheus
8
+ LABELS = %i[path method env].freeze
9
+
8
10
  def initialize(app, registry = ::Prometheus::Client.registry)
9
11
  @registry = registry
10
12
 
@@ -12,14 +14,16 @@ module Upfluence
12
14
  :uhttp_handler_requests_total
13
15
  ) || @registry.counter(
14
16
  :uhttp_handler_requests_total,
15
- 'Histogram of processed items',
17
+ docstring: 'Histogram of processed items',
18
+ labels: LABELS + %i[status]
16
19
  )
17
20
 
18
21
  @request_histogram = @registry.get(
19
22
  :uhttp_handler_requests_duration_second
20
23
  ) || @registry.histogram(
21
24
  :uhttp_handler_requests_duration_second,
22
- 'Histogram of processing time',
25
+ docstring: 'Histogram of processing time',
26
+ labels: LABELS
23
27
  )
24
28
 
25
29
  @app = app
@@ -41,19 +45,21 @@ module Upfluence
41
45
 
42
46
  def record(env, code, duration)
43
47
  @request_total_count.increment(
44
- path: parse_route(env),
45
- method: env['REQUEST_METHOD'].downcase,
46
- status: code,
47
- env: Upfluence.env.to_s
48
+ labels: {
49
+ path: parse_route(env),
50
+ method: env['REQUEST_METHOD'].downcase,
51
+ status: code,
52
+ env: Upfluence.env.to_s
53
+ }
48
54
  )
49
55
 
50
56
  @request_histogram.observe(
51
- {
52
- path: parse_route(env),
57
+ duration,
58
+ labels: {
59
+ path: parse_route(env),
53
60
  method: env['REQUEST_METHOD'].downcase,
54
- env: Upfluence.env.to_s
55
- },
56
- duration
61
+ env: Upfluence.env.to_s
62
+ }
57
63
  )
58
64
  end
59
65
 
@@ -75,8 +81,8 @@ module Upfluence
75
81
 
76
82
  path = Rack::Request.new(env).path
77
83
 
78
- splitted_template = route.split(' ').last.split('/').select do |v|
79
- v != ''
84
+ splitted_template = route.split(' ').last.split('/').rejext do |v|
85
+ v.eql?('')
80
86
  end.reverse
81
87
 
82
88
  path.split('/').reverse.map.with_index do |part, i|
@@ -1,5 +1,5 @@
1
1
  module Upfluence
2
2
  module Utils
3
- VERSION = '0.7.2'.freeze
3
+ VERSION = '0.8.0'.freeze
4
4
  end
5
5
  end
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.require_paths = ["lib"]
18
18
 
19
19
  spec.add_development_dependency "bundler", "~> 1.12"
20
- spec.add_development_dependency "rake", "~> 10.0"
20
+ spec.add_development_dependency "rake", ">= 12.3.3"
21
21
  spec.add_development_dependency "rspec", "~> 3.0"
22
22
  spec.add_runtime_dependency 'upfluence-thrift', '~> 2.1'
23
23
  spec.add_runtime_dependency 'base-thrift', '>= 0.1.0'
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_runtime_dependency 'puma'
30
30
  spec.add_runtime_dependency 'rack'
31
31
  spec.add_runtime_dependency 'stackprof'
32
- spec.add_runtime_dependency 'prometheus-client', '~> 0.9.0'
32
+ spec.add_runtime_dependency 'prometheus-client', '~> 2.1'
33
33
  spec.add_runtime_dependency 'userializer'
34
+ spec.add_runtime_dependency 'activerecord'
34
35
  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.7.2
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Upfluence
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-11 00:00:00.000000000 Z
11
+ date: 2020-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: 12.3.3
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: 12.3.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -198,14 +198,14 @@ dependencies:
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: 0.9.0
201
+ version: '2.1'
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: 0.9.0
208
+ version: '2.1'
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: userializer
211
211
  requirement: !ruby/object:Gem::Requirement
@@ -220,6 +220,20 @@ dependencies:
220
220
  - - ">="
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: activerecord
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
223
237
  description:
224
238
  email:
225
239
  - dev@upfluence.com