bugsnag-maze-runner 7.30.0 → 7.30.1

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: 3c132077721ff7826d0a4e3735f61ddfeaacc94c85adc0da7f638e0b8469c867
4
- data.tar.gz: b62473d6c7a69a7d7f2be846e142f4860d1485ddd24b7e70647828971d7b0909
3
+ metadata.gz: 50ddc2b8a7d69a3c11f06e1f9984de46bc4fd607178f240fb76c0d47b03e7725
4
+ data.tar.gz: 682fee5deb9bc66d86380ee5017a8ccd0b4f1b0f9809d6a9e36efa9e73510b83
5
5
  SHA512:
6
- metadata.gz: 2d8e5613c8a6f989f21cb1bf51b86248ae9f70acbaf10521e7ef41621ea2e5e21e320da23d5d2c736f3b269de1e0a23d0623bcfd3b7c1df54992c5d26c883dd6
7
- data.tar.gz: 95143189aa779a5b8c8ac5bec5214bc9705ccba94165d2158fca2e4a6cd55100a1dc45369b307cd99a73642198334729732d94215f7c905074f13743a55c5dcb
6
+ metadata.gz: 9a2b800801966259fa5453d00340645e7afeee1626808ffe4b670c2d64e28614f0d5a69093a38dcb70e123e02150034ce768c4368557e11a57d17f119e3ed306
7
+ data.tar.gz: fd5c15d2cede7d05040b0347d5816543eacaf3c1ca5430a33ccd26d2bb7c71e5bdedcb184b9cdc5113133e7a3ca1f23542aabb4325267f0dc4201b0d11463871
@@ -25,6 +25,10 @@ module Maze
25
25
  end
26
26
  URI.parse(url)
27
27
  end
28
+
29
+ def include_header?(key, _value)
30
+ true unless key.start_with? 'bugsnag'
31
+ end
28
32
  end
29
33
  end
30
34
  end
@@ -25,6 +25,11 @@ module Maze
25
25
  end
26
26
  URI.parse(url)
27
27
  end
28
+
29
+ def include_header?(key, value)
30
+ # Include all headers apart from the API key, which is set separately
31
+ key != 'bugsnag-api-key'
32
+ end
28
33
  end
29
34
  end
30
35
  end
@@ -18,19 +18,25 @@ module Maze
18
18
  uri = url_for_request_type
19
19
 
20
20
  Net::HTTP.start(uri.host, uri.port, :use_ssl => true) do |https|
21
- onward_request = Net::HTTP::Post.new(uri)
21
+ onward_request = Net::HTTP::Post.new(uri.path)
22
22
  onward_request.body = decompress(request)
23
23
 
24
24
  # Set all headers that are present, unless Gzip is not supported
25
25
  request.header.each do |key,value|
26
+ # Only include content-type header if gip is supported
26
27
  next if !gzip_supported && key.downcase == 'content-encoding'
27
- next if key.downcase.start_with? 'bugsnag'
28
+
29
+ # All other headers are opt-in to avoid accidental leakage
30
+ next unless include_header? key.downcase, value
28
31
 
29
32
  onward_request[key] = value
30
33
  end
34
+
35
+ # Set headers specific to the repeater
31
36
  set_headers onward_request
32
37
 
33
- https.request(onward_request)
38
+ response = https.request(onward_request)
39
+ log_response response
34
40
  end
35
41
  end
36
42
 
@@ -42,6 +48,7 @@ module Maze
42
48
 
43
49
  def decompress(request)
44
50
  if !gzip_supported && %r{^gzip$}.match(request['Content-Encoding'])
51
+
45
52
  reader = Zlib::GzipReader.new(StringIO.new(request.body))
46
53
  reader.read
47
54
  else
@@ -56,6 +63,25 @@ module Maze
56
63
  def url_for_request_type
57
64
  raise 'Method not implemented by this class'
58
65
  end
66
+
67
+ def include_header?(_key, _value)
68
+ raise 'Method not implemented by this class'
69
+ end
70
+
71
+ def log_response(response)
72
+ log "HEADERS:"
73
+ response.header.each_header do |key, value|
74
+ log " #{key}: #{value}"
75
+ end
76
+
77
+ log
78
+ log "BODY:"
79
+ log response.body
80
+ end
81
+
82
+ def log(message = '')
83
+ $logger.debug message
84
+ end
59
85
  end
60
86
  end
61
87
  end
data/lib/maze.rb CHANGED
@@ -7,7 +7,7 @@ require_relative 'maze/timers'
7
7
  # Glues the various parts of MazeRunner together that need to be accessed globally,
8
8
  # providing an alternative to the proliferation of global variables or singletons.
9
9
  module Maze
10
- VERSION = '7.30.0'
10
+ VERSION = '7.30.1'
11
11
 
12
12
  class << self
13
13
  attr_accessor :check, :driver, :internal_hooks, :mode, :start_time, :dynamic_retry, :public_address,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bugsnag-maze-runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.30.0
4
+ version: 7.30.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Kirkland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-11 00:00:00.000000000 Z
11
+ date: 2023-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber