aws-xray 0.9.1 → 0.9.2

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