aws-xray 0.9.1 → 0.9.2

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
  SHA1:
3
- metadata.gz: 6e625bb57c33f79d96bf18d717e824613f1028a3
4
- data.tar.gz: 618ad109a0539d4e0efb80cb8adfc42ba59a31b2
3
+ metadata.gz: 9d82e4757318127e11c0c2a78eb5596c1059ff30
4
+ data.tar.gz: 668dee6504fd3e56e8df90348ab3625ece176575
5
5
  SHA512:
6
- metadata.gz: f21c15606b990eafc9319d4c3ae4234c77838af4e48820c8cb2af7933d247d4837f868296fff09f54dde564f57acff163d3a7cc639fa118b9e60a88c85882d98
7
- data.tar.gz: 29fb2b2b74383ae1d46c6471b95344d85cb34f616e2b1e6367e2af179be426b5d79ac4c60e2a40f33653323f420ce2e329035d2e4ca312edc193a915728f6d1f
6
+ metadata.gz: a9028ac1bfd372c9a31c6d15fe8608e4bfc53807c5a71f0c6c5e8d7304a43e5a07282d420afb6549d11d51645c6ce166b6295aa6e78db0bf247940cc65a39cf3
7
+ data.tar.gz: 6f1cdb13bfeb144815b4ba5b3733ba6e00264afe0e526b1ca1e5bdda55cdade106cbf315cd243ace055c6e8593495b5240e80b189d496281aecb75580d685f04
@@ -2,26 +2,45 @@ module Aws
2
2
  module Xray
3
3
  attrs = [:method, :url, :user_agent, :client_ip, :x_forwarded_for, :traced]
4
4
  class Request < Struct.new(*attrs)
5
- def self.build_from_rack_env(env)
6
- new(
7
- env['REQUEST_METHOD'], # method
8
- env['REQUEST_URI'], # url
9
- env['HTTP_USER_AGENT'], # user_agent
10
- env['X-Forwarded-For'], # client_ip
11
- !!env['X-Forwarded-For'], # x_forwarded_for
12
- false, # traced
13
- )
14
- end
5
+ class << self
6
+ def build(method:, url:, user_agent: nil, client_ip: nil, x_forwarded_for: nil, traced: false)
7
+ new(encode(method), encode(url), encode(user_agent), encode(client_ip), x_forwarded_for, traced)
8
+ end
9
+
10
+ def build_from_rack_env(env)
11
+ build(
12
+ method: env['REQUEST_METHOD'],
13
+ url: env['REQUEST_URI'],
14
+ user_agent: env['HTTP_USER_AGENT'],
15
+ client_ip: env['X-Forwarded-For'],
16
+ x_forwarded_for: !!env['X-Forwarded-For'],
17
+ traced: false,
18
+ )
19
+ end
20
+
21
+ def build_from_faraday_env(env)
22
+ build(
23
+ method: env.method.to_s.upcase,
24
+ url: env.url.to_s,
25
+ user_agent: env.request_headers['User-Agent'],
26
+ client_ip: nil,
27
+ x_forwarded_for: false,
28
+ traced: false,
29
+ )
30
+ end
31
+
32
+ private
15
33
 
16
- def self.build_from_faraday_env(env)
17
- new(
18
- env.method.to_s.upcase, # method
19
- env.url.to_s, # url
20
- env.request_headers['User-Agent'], # user_agent
21
- nil, # client_ip
22
- false, # x_forwarded_for
23
- false, # traced
24
- )
34
+ # Ensure all strings have same encoding to JSONify them.
35
+ # If the given string has illegal bytes or a undefined byte sequence,
36
+ # replace them with a default character.
37
+ def encode(str)
38
+ if str.nil?
39
+ nil
40
+ else
41
+ str.to_s.encode(__ENCODING__, invalid: :replace, undef: :replace)
42
+ end
43
+ end
25
44
  end
26
45
  end
27
46
  end
@@ -1,5 +1,5 @@
1
1
  module Aws
2
2
  module Xray
3
- VERSION = '0.9.1'
3
+ VERSION = '0.9.2'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-xray
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taiki Ono
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-06-02 00:00:00.000000000 Z
11
+ date: 2017-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -161,7 +161,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
161
  version: '0'
162
162
  requirements: []
163
163
  rubyforge_project:
164
- rubygems_version: 2.6.11
164
+ rubygems_version: 2.5.2
165
165
  signing_key:
166
166
  specification_version: 4
167
167
  summary: The unofficial X-Ray Tracing SDK for Ruby.