aws-xray 0.16.3 → 0.16.4

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: efddd11613513c31deae81a7c19e585c27561d65
4
- data.tar.gz: 634485ac1a3a2d4f1c64b20feb639e7b4a1f8f44
3
+ metadata.gz: c18e62bee058b20f2bbfc0a46732b491974cfd1b
4
+ data.tar.gz: 245d0a54a8eda2e84fb317eaed923f7aa340a042
5
5
  SHA512:
6
- metadata.gz: 8f496597a77629249e31d91c238235bffa6e9429ee86335a94db18936f41ec6dd22e7de96c69330d6cd509474e9609cef23da4911cb9454dc2576f90e7437c21
7
- data.tar.gz: 1515645eba3847d0fe33d00f941a52bcd3c962adecffb4ebc637967fd6b15621d2e3366d1d7a2d0415b8e9f981c52dc53517088ff1609bdb3f617d9e6c76f10e
6
+ metadata.gz: c25b50647422653efcaecaae9fef3d22be3aa70dd90ee24839531f0a64e39905d34bd43c529793cda76a90865ba43e6674245640127a804479b480978f662952
7
+ data.tar.gz: 4e7ef29b919b9ae8d97d9027c7c99397611df28216196d6782bdee3476269aff99aaed83cc5034979e112b13c5c8d7bdd71b233b3c6521bea657bc70b371203d
@@ -23,20 +23,7 @@ module Aws
23
23
 
24
24
  res = Context.current.disable_trace(:net_http) { @app.call(req_env) }
25
25
  res.on_complete do |res_env|
26
- sub.set_http_response(res_env.status, res_env.response_headers['Content-Length'])
27
- case res_env.status
28
- when 499
29
- cause = Cause.new(stack: caller, message: 'Got 499', type: 'http_request_error')
30
- sub.set_error(error: true, throttle: true, cause: cause)
31
- when 400..498
32
- cause = Cause.new(stack: caller, message: 'Got 4xx', type: 'http_request_error')
33
- sub.set_error(error: true, cause: cause)
34
- when 500..599
35
- cause = Cause.new(stack: caller, message: 'Got 5xx', type: 'http_request_error')
36
- sub.set_error(fault: true, remote: true, cause: cause)
37
- else
38
- # pass
39
- end
26
+ sub.set_http_response_with_error(res_env.status, res_env.response_headers['Content-Length'], remote: true)
40
27
  end
41
28
  end
42
29
  end
@@ -28,21 +28,7 @@ module Aws
28
28
 
29
29
  res = request_without_aws_xray(req, *args, &block)
30
30
 
31
- sub.set_http_response(res.code.to_i, res['Content-Length'])
32
- case res.code.to_i
33
- when 499
34
- cause = Cause.new(stack: caller, message: 'Got 499', type: 'http_request_error')
35
- sub.set_error(error: true, throttle: true, cause: cause)
36
- when 400..498
37
- cause = Cause.new(stack: caller, message: 'Got 4xx', type: 'http_request_error')
38
- sub.set_error(error: true, cause: cause)
39
- when 500..599
40
- cause = Cause.new(stack: caller, message: 'Got 5xx', type: 'http_request_error')
41
- sub.set_error(fault: true, remote: true, cause: cause)
42
- else
43
- # pass
44
- end
45
-
31
+ sub.set_http_response_with_error(res.code.to_i, res['Content-Length'], remote: true)
46
32
  res
47
33
  end
48
34
  end
@@ -39,7 +39,8 @@ module Aws
39
39
  Context.current.base_trace do |seg|
40
40
  seg.set_http_request(Request.build_from_rack_env(env))
41
41
  status, headers, body = @app.call(env)
42
- seg.set_http_response(status, headers['Content-Length'] || 0)
42
+ length = headers['Content-Length'] || 0
43
+ seg.set_http_response_with_error(status, length, remote: false)
43
44
  headers[TRACE_HEADER] = trace.to_header_value
44
45
  [status, headers, body]
45
46
  end
@@ -43,6 +43,28 @@ module Aws
43
43
  @http_response = Response.new(status, length)
44
44
  end
45
45
 
46
+ # Automatically set error according to status code.
47
+ # @param [Integer] status HTTP status
48
+ # @param [Integer] length Size of HTTP response body
49
+ # @param [Boolean] remote Whether the response is from remote server or not.
50
+ def set_http_response_with_error(status, length, remote:)
51
+ set_http_response(status, length)
52
+ type = remote ? 'http_request_error' : 'http_response_error'
53
+ case status.to_i
54
+ when 499
55
+ cause = Cause.new(stack: caller, message: 'Got 499', type: type)
56
+ set_error(error: true, throttle: true, cause: cause)
57
+ when 400..498
58
+ cause = Cause.new(stack: caller, message: 'Got 4xx', type: type)
59
+ set_error(error: true, cause: cause)
60
+ when 500..599
61
+ cause = Cause.new(stack: caller, message: 'Got 5xx', type: type)
62
+ set_error(fault: true, remote: remote, cause: cause)
63
+ else
64
+ # pass
65
+ end
66
+ end
67
+
46
68
  # @param [Boolean] error Indicating that a client error occurred (response status code was 4XX Client Error).
47
69
  # @param [Boolean] throttle Indicating that a request was throttled (response status code was 429 Too Many Requests).
48
70
  # @param [Boolean] fault Indicating that a server error occurred (response status code was 5XX Server Error).
@@ -1,5 +1,5 @@
1
1
  module Aws
2
2
  module Xray
3
- VERSION = '0.16.3'
3
+ VERSION = '0.16.4'
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.16.3
4
+ version: 0.16.4
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-12 00:00:00.000000000 Z
11
+ date: 2017-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -177,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
177
  version: '0'
178
178
  requirements: []
179
179
  rubyforge_project:
180
- rubygems_version: 2.6.11
180
+ rubygems_version: 2.5.2
181
181
  signing_key:
182
182
  specification_version: 4
183
183
  summary: The unofficial X-Ray Tracing SDK for Ruby.