hoss-agent 1.0.8 → 1.0.9

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
  SHA256:
3
- metadata.gz: 8e6c9d937aeedc94daaf59fbcefd4a37bf5982662586489b659913b47d2e27b3
4
- data.tar.gz: 0a7f8e92ce4eef17f8415946c2e620a390c4bf99fb99df23f6e1c2c5284b6918
3
+ metadata.gz: eb17fe11c7d97d41c4cb2c5a701286233ea53255092a89a3924793e5d2a6a3c4
4
+ data.tar.gz: babeee044660be9fcb0f6c4d8a26f6204abfb2f539fa83497bac97d1b461a54b
5
5
  SHA512:
6
- metadata.gz: e5716d01ea3752aaa88bdcd48a37819a70602752e21e56ab7a816d15cda3b3db835a72c4247ef02b276518cface16467c11fb658be8c6d23207a2c83bf196d4b
7
- data.tar.gz: 137ad627f7cd3565aeff78d02aed3ede01a2f20106e1333aeaeba71ef180402e964969a8cde302ba1b43dabbf14c598017411a5497f8bc7596bd897e235e1df5
6
+ metadata.gz: 70b395a9f4e36e3677bbe82148ff0a3ad13844c1a281184148ed22b5f8204414a6e22e0d27f98addeb723e68da4bcf89f97ab3da0248c6bc967baae48691b65e
7
+ data.tar.gz: d05143b093eab36c8f034fe9e05eae9b863b4fca370f1b7c8e04d28d3eba8a69c770f4c0ef137fedde869761401c7617a74f998caa2e91fc559ae707c44550ac
@@ -39,57 +39,61 @@ module Hoss
39
39
  alias run_request_without_apm run_request
40
40
 
41
41
  def run_request(method, url, body, headers, &block)
42
- Hoss.with_event do |event|
43
- Hoss::Spies::FaradaySpy.without_net_http do
44
- begin
45
- uri = URI(build_url(url))
46
- result = run_request_without_apm(method, url, body, headers) do |req|
47
- if block_given?
48
- yield req
49
- new_path = req.path
50
- new_query = URI.encode_www_form(req.params)
51
- if uri.path != new_path || uri.query != new_query
52
- test_uri = uri
53
- test_uri.query = nil
54
- begin
55
- test_uri.path = new_path
56
- rescue Exception => e
42
+ begin
43
+ Hoss.with_event do |event|
44
+ Hoss::Spies::FaradaySpy.without_net_http do
45
+ begin
46
+ uri = URI(build_url(url))
47
+ result = run_request_without_apm(method, url, body, headers) do |req|
48
+ if block_given?
49
+ yield req
50
+ new_path = req.path
51
+ new_query = URI.encode_www_form(req.params)
52
+ if uri.path != new_path || uri.query != new_query
53
+ test_uri = uri
54
+ test_uri.query = nil
55
+ begin
56
+ test_uri.path = new_path
57
+ rescue Exception => e
58
+ end
59
+ # The original url can be set to path if Faraday.get used
60
+ if test_uri.to_s != uri.to_s
61
+ uri.path = new_path
62
+ end
63
+ uri.query = new_query
57
64
  end
58
- # The original url can be set to path if Faraday.get used
59
- if test_uri.to_s != uri.to_s
60
- uri.path = new_path
61
- end
62
- uri.query = new_query
63
65
  end
66
+ event.request.method = method.to_s.upcase
67
+ event.request.url = uri.to_s
68
+ event.request.received_at = DateTime.now.strftime('%Q').to_i
69
+ event.request.headers['host'] = uri.hostname
70
+ req.headers.each {|n,v| event.request.headers[n] = v}
71
+ event.request.url = uri.to_s
72
+ event.request.body = req.body
64
73
  end
65
- event.request.method = method.to_s.upcase
66
- event.request.url = uri.to_s
67
- event.request.received_at = DateTime.now.strftime('%Q').to_i
68
- event.request.headers['host'] = uri.hostname
69
- req.headers.each {|n,v| event.request.headers[n] = v}
70
- event.request.url = uri.to_s
71
- event.request.body = req.body
72
- end
73
74
 
74
- if result
75
- event.response = Hoss::Event::Response.new
76
- event.response.received_at = DateTime.now.strftime('%Q').to_i
77
- event.response.status_code = result.status.to_i
78
- result.headers.each {|n,v| event.response.headers[n] = v}
79
- event.response.body = result.body
80
- end
75
+ if result
76
+ event.response = Hoss::Event::Response.new
77
+ event.response.received_at = DateTime.now.strftime('%Q').to_i
78
+ event.response.status_code = result.status.to_i
79
+ result.headers.each {|n,v| event.response.headers[n] = v}
80
+ event.response.body = result.body
81
+ end
81
82
 
82
- result
83
- rescue Exception => e
84
- if e.respond_to?(:wrapped_exception) && e.wrapped_exception.is_a?(Net::OpenTimeout)
85
- event.error = Hoss::Event::Error.new(Hoss::Event::Error::ConnectionTimeout)
86
- else
87
- event.error = Hoss::Event::Error.new(Hoss::Event::Error::ConnectionError)
83
+ result
84
+ rescue Exception => e
85
+ if e.respond_to?(:wrapped_exception) && e.wrapped_exception.is_a?(Net::OpenTimeout)
86
+ event.error = Hoss::Event::Error.new(Hoss::Event::Error::ConnectionTimeout)
87
+ else
88
+ event.error = Hoss::Event::Error.new(Hoss::Event::Error::ConnectionError)
89
+ end
90
+ event.error.received_at = DateTime.now.strftime('%Q').to_i
91
+ raise
88
92
  end
89
- event.error.received_at = DateTime.now.strftime('%Q').to_i
90
- raise
91
93
  end
92
94
  end
95
+ rescue
96
+ run_request_without_apm(method, url, body, headers, &block)
93
97
  end
94
98
  end
95
99
  end
@@ -44,32 +44,37 @@ module Hoss
44
44
  if req.headers['HOSS-SKIP-INSTRUMENTATION'] == 'true'
45
45
  return perform_without_apm(req, options)
46
46
  end
47
- Hoss.with_event do |event|
48
- event.request.headers['host'] = req.uri.host
49
- req.headers.each {|n,v| event.request.headers[n] = v}
50
- event.request.method = req.verb.to_s.upcase
51
- event.request.url = req.uri.to_s
52
- event.request.body = Hoss::Spies::HTTPSpy::copy_request_body(req.body)
53
- event.request.received_at = DateTime.now.strftime('%Q').to_i
54
- begin
55
- result = perform_without_apm(req, options)
56
- if result
57
- event.response = Hoss::Event::Response.new
58
- event.response.received_at = DateTime.now.strftime('%Q').to_i
59
- event.response.status_code = result.code.to_i
60
- result.headers.each {|n,v| event.response.headers[n] = v}
61
- event.response.body = result.body.to_s
47
+
48
+ begin
49
+ Hoss.with_event do |event|
50
+ event.request.headers['host'] = req.uri.host
51
+ req.headers.each {|n,v| event.request.headers[n] = v}
52
+ event.request.method = req.verb.to_s.upcase
53
+ event.request.url = req.uri.to_s
54
+ event.request.body = Hoss::Spies::HTTPSpy::copy_request_body(req.body)
55
+ event.request.received_at = DateTime.now.strftime('%Q').to_i
56
+ begin
57
+ result = perform_without_apm(req, options)
58
+ if result
59
+ event.response = Hoss::Event::Response.new
60
+ event.response.received_at = DateTime.now.strftime('%Q').to_i
61
+ event.response.status_code = result.code.to_i
62
+ result.headers.each {|n,v| event.response.headers[n] = v}
63
+ event.response.body = result.body.to_s
64
+ end
65
+ result
66
+ rescue HTTP::TimeoutError => e
67
+ event.error = Hoss::Event::Error.new(Hoss::Event::Error::ConnectionTimeout)
68
+ event.error.received_at = DateTime.now.strftime('%Q').to_i
69
+ raise
70
+ rescue Exception => e
71
+ event.error = Hoss::Event::Error.new(Hoss::Event::Error::ConnectionError)
72
+ event.error.received_at = DateTime.now.strftime('%Q').to_i
73
+ raise
62
74
  end
63
- result
64
- rescue HTTP::TimeoutError => e
65
- event.error = Hoss::Event::Error.new(Hoss::Event::Error::ConnectionTimeout)
66
- event.error.received_at = DateTime.now.strftime('%Q').to_i
67
- raise
68
- rescue Exception => e
69
- event.error = Hoss::Event::Error.new(Hoss::Event::Error::ConnectionError)
70
- event.error.received_at = DateTime.now.strftime('%Q').to_i
71
- raise
72
75
  end
76
+ rescue
77
+ return perform_without_apm(req, options)
73
78
  end
74
79
  end
75
80
  end
@@ -56,35 +56,39 @@ module Hoss
56
56
  return request_without_apm(req, body, &block)
57
57
  end
58
58
 
59
- host = req['host']&.split(':')&.first || address
60
- method = req.method.to_s.upcase
61
- path, query = req.path.split('?')
62
-
63
- url = use_ssl? ? +'https://' : +'http://'
64
- url << host
65
- url << ":#{port}" if port
66
- url << path
67
- url << "?#{query}" if query
68
- uri = URI(url)
69
-
70
- Hoss.with_event do |event|
71
- # Record request
72
- event.request.headers['host'] = uri.hostname
73
- req.each_header {|n,v| event.request.headers[n] = v}
74
- event.request.method = method
75
- event.request.url = uri.to_s
76
- event.request.body = req.body
77
- event.request.received_at = DateTime.now.strftime('%Q').to_i
78
-
79
- result = request_without_apm(req, body, &block)
80
- if result
81
- event.response = Hoss::Event::Response.new
82
- event.response.received_at = DateTime.now.strftime('%Q').to_i
83
- event.response.status_code = result.code.to_i
84
- result.each_header {|n,v| event.response.headers[n] = v}
85
- event.response.body = result.body
59
+ begin
60
+ host = req['host']&.split(':')&.first || address
61
+ method = req.method.to_s.upcase
62
+ path, query = req.path.split('?')
63
+
64
+ url = use_ssl? ? +'https://' : +'http://'
65
+ url << host
66
+ url << ":#{port}" if port
67
+ url << path
68
+ url << "?#{query}" if query
69
+ uri = URI(url)
70
+
71
+ Hoss.with_event do |event|
72
+ # Record request
73
+ event.request.headers['host'] = uri.hostname
74
+ req.each_header {|n,v| event.request.headers[n] = v}
75
+ event.request.method = method
76
+ event.request.url = uri.to_s
77
+ event.request.body = req.body
78
+ event.request.received_at = DateTime.now.strftime('%Q').to_i
79
+
80
+ result = request_without_apm(req, body, &block)
81
+ if result
82
+ event.response = Hoss::Event::Response.new
83
+ event.response.received_at = DateTime.now.strftime('%Q').to_i
84
+ event.response.status_code = result.code.to_i
85
+ result.each_header {|n,v| event.response.headers[n] = v}
86
+ event.response.body = result.body
87
+ end
88
+ result
86
89
  end
87
- result
90
+ rescue
91
+ return request_without_apm(req, body, &block)
88
92
  end
89
93
  end
90
94
  end
@@ -18,5 +18,5 @@
18
18
  # frozen_string_literal: true
19
19
 
20
20
  module Hoss
21
- VERSION = '1.0.8'
21
+ VERSION = '1.0.9'
22
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hoss-agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Cooper