marlowe 3.0 → 3.1
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 +4 -4
- data/.github/workflows/ruby.yml +7 -3
- data/History.md +14 -7
- data/Rakefile +1 -4
- data/lib/marlowe.rb +1 -1
- data/test/minitest_config.rb +26 -0
- data/test/test_marlowe.rb +31 -31
- data/test/test_marlowe_config.rb +32 -31
- metadata +21 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab7ab600bebd938d83401763fdb4da4e46448cce69f2421e0e8e68dec967c289
|
4
|
+
data.tar.gz: 5b5a7f77d71cabe799fba50b54e5639c0f9e3e0fc75600b0c5cd486dab850d1f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 630dea03e6bb4aed6e325baba7152a18c129c76d3ef2a029bdb7079432ff9b5bc8477742cb7d64c2e78718554eaf95bf8f9ce43aaaab66110c95e32616532f93
|
7
|
+
data.tar.gz: 6a6a17555432e901b74abbefb5f65385e79cb22c942e6605d5885e04366f246012ba8681ff74b30583bb808835782b9b8a380971bb7ca0d7b4b13ed324b37eb5
|
data/.github/workflows/ruby.yml
CHANGED
@@ -21,13 +21,13 @@ jobs:
|
|
21
21
|
- '2.7'
|
22
22
|
- '3.0'
|
23
23
|
- '3.1'
|
24
|
+
- '3.2'
|
25
|
+
- '3.3'
|
24
26
|
- head
|
25
27
|
- jruby
|
26
28
|
- jruby-head
|
27
29
|
- truffleruby
|
28
30
|
- truffleruby-head
|
29
|
-
- truffleruby+graalvm
|
30
|
-
- truffleruby+graalvm-head
|
31
31
|
include:
|
32
32
|
- ruby: head
|
33
33
|
continue-on-error: true
|
@@ -36,7 +36,9 @@ jobs:
|
|
36
36
|
- os: ubuntu-22.04
|
37
37
|
ruby: head
|
38
38
|
- os: ubuntu-22.04
|
39
|
-
ruby: '3.
|
39
|
+
ruby: '3.2'
|
40
|
+
- os: ubuntu-22.04
|
41
|
+
ruby: '3.3'
|
40
42
|
|
41
43
|
runs-on: ${{ matrix.os }}
|
42
44
|
|
@@ -52,4 +54,6 @@ jobs:
|
|
52
54
|
- run: bundle exec ruby -S rake test --trace
|
53
55
|
- run: bundle exec ruby -S appraisal install
|
54
56
|
- run: bundle exec ruby -S appraisal rake test
|
57
|
+
|
55
58
|
- run: bundle exec standardrb
|
59
|
+
if: ${{ matrix.ruby == '3.3' && matrix.os == 'ubuntu-22.04' }}
|
data/History.md
CHANGED
@@ -1,17 +1,24 @@
|
|
1
|
-
|
1
|
+
# History
|
2
|
+
|
3
|
+
## 3.1 / 2024-02-29
|
4
|
+
|
5
|
+
- Fixed some noise in the tests as preparation for Rack 3.1.
|
6
|
+
- Updated dependencies.
|
7
|
+
|
8
|
+
## 3.0 / 2022-09-11
|
2
9
|
|
3
10
|
- Added a Faraday request middleware.
|
4
11
|
- Replaced Hurley example with examples for the use of the Faraday
|
5
12
|
middleware.
|
6
13
|
- Added global Marlowe configuration.
|
7
14
|
|
8
|
-
|
15
|
+
## 2.1 / 2021-09-08
|
9
16
|
|
10
17
|
- Allow the use of Ruby 3.
|
11
18
|
- Switch to standardruby instead of rubocop.
|
12
19
|
- Switch from Travis to Github Actions.
|
13
20
|
|
14
|
-
|
21
|
+
## 2.0 / 2016-11-16
|
15
22
|
|
16
23
|
- Breaking change: the correlation header defaults to `X-Request-Id` instead of
|
17
24
|
`Correlation-Id`.
|
@@ -22,21 +29,21 @@
|
|
22
29
|
part of the response.
|
23
30
|
- Marlowe is more configurable now.
|
24
31
|
|
25
|
-
|
32
|
+
## 1.0.3 / 2016-01-15
|
26
33
|
|
27
34
|
- Update Readme example of using available formatted subclass.
|
28
35
|
- Make the correlation header name configurable
|
29
36
|
|
30
|
-
|
37
|
+
## 1.0.2 / 2015-11-24
|
31
38
|
|
32
39
|
- Add documentation for using Marlowe with [lograge][].
|
33
40
|
|
34
|
-
|
41
|
+
## 1.0.1 / 2015-10-20
|
35
42
|
|
36
43
|
- Update gemspec with homepage
|
37
44
|
- Update Rakefile
|
38
45
|
|
39
|
-
|
46
|
+
## 1.0.0 / 2015-10-16
|
40
47
|
|
41
48
|
- Initial Commit
|
42
49
|
|
data/Rakefile
CHANGED
@@ -28,19 +28,16 @@ spec = Hoe.spec "marlowe" do
|
|
28
28
|
extra_dev_deps << ["appraisal", "~> 2.1"]
|
29
29
|
extra_dev_deps << ["hoe-doofus", "~> 1.0"]
|
30
30
|
extra_dev_deps << ["hoe-gemspec2", "~> 1.1"]
|
31
|
-
extra_dev_deps << ["hoe-
|
31
|
+
extra_dev_deps << ["hoe-git2", "~> 1.7"]
|
32
32
|
extra_dev_deps << ["hoe-rubygems", "~> 1.0"]
|
33
33
|
extra_dev_deps << ["minitest", "~> 5.4"]
|
34
34
|
extra_dev_deps << ["minitest-autotest", "~> 1.0"]
|
35
|
-
extra_dev_deps << ["minitest-bonus-assertions", "~> 3.0"]
|
36
35
|
extra_dev_deps << ["minitest-focus", "~> 1.1"]
|
37
36
|
extra_dev_deps << ["minitest-moar", "~> 0.0"]
|
38
37
|
extra_dev_deps << ["rack-test", "~> 2.0"]
|
39
38
|
extra_dev_deps << ["rake", ">= 10.0", "< 14"]
|
40
|
-
extra_dev_deps << ["rdoc", ">= 4.2"]
|
41
39
|
extra_dev_deps << ["standard", "~> 1.0"]
|
42
40
|
extra_dev_deps << ["simplecov", "~> 0.21"]
|
43
|
-
extra_dev_deps << ["psych", "~> 3.1"]
|
44
41
|
end
|
45
42
|
|
46
43
|
ENV["RUBYOPT"] = "-W0"
|
data/lib/marlowe.rb
CHANGED
data/test/minitest_config.rb
CHANGED
@@ -9,3 +9,29 @@ require "minitest/focus"
|
|
9
9
|
require "minitest/moar"
|
10
10
|
|
11
11
|
require "marlowe"
|
12
|
+
|
13
|
+
RackV1 = Rack.release.start_with?("1.")
|
14
|
+
|
15
|
+
module NormalizeRackResponseHeaders
|
16
|
+
private
|
17
|
+
|
18
|
+
def has_header?(key)
|
19
|
+
if RackV1
|
20
|
+
last_response.header.key?(key)
|
21
|
+
else
|
22
|
+
last_response.has_header?(key)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def get_header(key)
|
27
|
+
if RackV1
|
28
|
+
last_response.header[key]
|
29
|
+
else
|
30
|
+
last_response.get_header(key)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
class Minitest::Test
|
36
|
+
include NormalizeRackResponseHeaders
|
37
|
+
end
|
data/test/test_marlowe.rb
CHANGED
@@ -29,75 +29,75 @@ class TestMarlowe < Minitest::Test
|
|
29
29
|
|
30
30
|
def test_default_config_no_header_value
|
31
31
|
get "/"
|
32
|
-
assert
|
33
|
-
refute_empty
|
34
|
-
assert_equal
|
32
|
+
assert has_header?("X-Request-Id")
|
33
|
+
refute_empty get_header("X-Request-Id")
|
34
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
35
35
|
end
|
36
36
|
|
37
37
|
def test_default_config_with_header_value
|
38
38
|
get "/", {}, {"HTTP_X_REQUEST_ID" => "testvalue"}
|
39
|
-
assert
|
40
|
-
refute_empty
|
41
|
-
assert_equal
|
42
|
-
assert_equal "testvalue",
|
39
|
+
assert has_header?("X-Request-Id")
|
40
|
+
refute_empty get_header("X-Request-Id")
|
41
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
42
|
+
assert_equal "testvalue", get_header("X-Request-Id")
|
43
43
|
end
|
44
44
|
|
45
45
|
def test_header_config_no_header_value
|
46
46
|
marlowe_options[:header] = "Correlation-Id"
|
47
47
|
get "/"
|
48
|
-
assert
|
49
|
-
refute_empty
|
50
|
-
assert_equal
|
48
|
+
assert has_header?("Correlation-Id")
|
49
|
+
refute_empty get_header("Correlation-Id")
|
50
|
+
assert_equal get_header("Correlation-Id"), last_response.body
|
51
51
|
end
|
52
52
|
|
53
53
|
def test_header_config_no_header_with_header_value
|
54
54
|
marlowe_options[:header] = "Correlation-Id"
|
55
55
|
get "/", {}, {"HTTP_CORRELATION_ID" => "testvalue"}
|
56
|
-
assert
|
57
|
-
refute_empty
|
58
|
-
assert_equal
|
59
|
-
assert_equal "testvalue",
|
56
|
+
assert has_header?("Correlation-Id")
|
57
|
+
refute_empty get_header("Correlation-Id")
|
58
|
+
assert_equal get_header("Correlation-Id"), last_response.body
|
59
|
+
assert_equal "testvalue", get_header("Correlation-Id")
|
60
60
|
end
|
61
61
|
|
62
62
|
def test_handler_config_default_handler
|
63
63
|
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
64
|
-
assert
|
65
|
-
refute_empty
|
66
|
-
assert_equal
|
67
|
-
assert_equal "testvalue",
|
64
|
+
assert has_header?("X-Request-Id")
|
65
|
+
refute_empty get_header("X-Request-Id")
|
66
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
67
|
+
assert_equal "testvalue", get_header("X-Request-Id")
|
68
68
|
end
|
69
69
|
|
70
70
|
def test_handler_config_with_simple_handler
|
71
71
|
marlowe_options[:handler] = :simple
|
72
72
|
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
73
|
-
assert
|
74
|
-
refute_empty
|
75
|
-
assert_equal
|
76
|
-
assert_equal "test+value",
|
73
|
+
assert has_header?("X-Request-Id")
|
74
|
+
refute_empty get_header("X-Request-Id")
|
75
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
76
|
+
assert_equal "test+value", get_header("X-Request-Id")
|
77
77
|
end
|
78
78
|
|
79
79
|
def test_handler_config_with_proc_handler
|
80
80
|
marlowe_options[:handler] = ->(item) { item && item.reverse || SecureRandom.uuid }
|
81
81
|
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
82
|
-
assert
|
83
|
-
refute_empty
|
84
|
-
assert_equal
|
85
|
-
assert_equal "eulav+tset",
|
82
|
+
assert has_header?("X-Request-Id")
|
83
|
+
refute_empty get_header("X-Request-Id")
|
84
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
85
|
+
assert_equal "eulav+tset", get_header("X-Request-Id")
|
86
86
|
end
|
87
87
|
|
88
88
|
def test_handler_config_with_proc_handler_returning_nil
|
89
89
|
marlowe_options[:handler] = ->(_item) {}
|
90
90
|
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
91
|
-
assert
|
92
|
-
refute_empty
|
93
|
-
assert_equal
|
94
|
-
assert_match(/\A[-\w]+\z/,
|
91
|
+
assert has_header?("X-Request-Id")
|
92
|
+
refute_empty get_header("X-Request-Id")
|
93
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
94
|
+
assert_match(/\A[-\w]+\z/, get_header("X-Request-Id"))
|
95
95
|
end
|
96
96
|
|
97
97
|
def test_return_config_false
|
98
98
|
marlowe_options[:return] = false
|
99
99
|
get "/"
|
100
|
-
refute
|
100
|
+
refute has_header?("X-Request-Id")
|
101
101
|
assert_equal RequestStore[:correlation_id], last_response.body
|
102
102
|
end
|
103
103
|
end
|
data/test/test_marlowe_config.rb
CHANGED
@@ -35,75 +35,76 @@ class TestMarloweConfig < Minitest::Test
|
|
35
35
|
|
36
36
|
def test_default_config_no_header_value
|
37
37
|
get "/"
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
|
39
|
+
assert has_header?("X-Request-Id")
|
40
|
+
refute_empty get_header("X-Request-Id")
|
41
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
41
42
|
end
|
42
43
|
|
43
44
|
def test_default_config_with_header_value
|
44
45
|
get "/", {}, {"HTTP_X_REQUEST_ID" => "testvalue"}
|
45
|
-
assert
|
46
|
-
refute_empty
|
47
|
-
assert_equal
|
48
|
-
assert_equal "testvalue",
|
46
|
+
assert has_header?("X-Request-Id")
|
47
|
+
refute_empty get_header("X-Request-Id")
|
48
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
49
|
+
assert_equal "testvalue", get_header("X-Request-Id")
|
49
50
|
end
|
50
51
|
|
51
52
|
def test_header_config_no_header_value
|
52
53
|
marlowe_options[:header] = "Correlation-Id"
|
53
54
|
get "/"
|
54
|
-
assert
|
55
|
-
refute_empty
|
56
|
-
assert_equal
|
55
|
+
assert has_header?("Correlation-Id")
|
56
|
+
refute_empty get_header("Correlation-Id")
|
57
|
+
assert_equal get_header("Correlation-Id"), last_response.body
|
57
58
|
end
|
58
59
|
|
59
60
|
def test_header_config_no_header_with_header_value
|
60
61
|
marlowe_options[:header] = "Correlation-Id"
|
61
62
|
get "/", {}, {"HTTP_CORRELATION_ID" => "testvalue"}
|
62
|
-
assert
|
63
|
-
refute_empty
|
64
|
-
assert_equal
|
65
|
-
assert_equal "testvalue",
|
63
|
+
assert has_header?("Correlation-Id")
|
64
|
+
refute_empty get_header("Correlation-Id")
|
65
|
+
assert_equal get_header("Correlation-Id"), last_response.body
|
66
|
+
assert_equal "testvalue", get_header("Correlation-Id")
|
66
67
|
end
|
67
68
|
|
68
69
|
def test_handler_config_default_handler
|
69
70
|
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
70
|
-
assert
|
71
|
-
refute_empty
|
72
|
-
assert_equal
|
73
|
-
assert_equal "testvalue",
|
71
|
+
assert has_header?("X-Request-Id")
|
72
|
+
refute_empty get_header("X-Request-Id")
|
73
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
74
|
+
assert_equal "testvalue", get_header("X-Request-Id")
|
74
75
|
end
|
75
76
|
|
76
77
|
def test_handler_config_with_simple_handler
|
77
78
|
marlowe_options[:handler] = :simple
|
78
79
|
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
79
|
-
assert
|
80
|
-
refute_empty
|
81
|
-
assert_equal
|
82
|
-
assert_equal "test+value",
|
80
|
+
assert has_header?("X-Request-Id")
|
81
|
+
refute_empty get_header("X-Request-Id")
|
82
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
83
|
+
assert_equal "test+value", get_header("X-Request-Id")
|
83
84
|
end
|
84
85
|
|
85
86
|
def test_handler_config_with_proc_handler
|
86
87
|
marlowe_options[:handler] = ->(item) { item && item.reverse || SecureRandom.uuid }
|
87
88
|
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
88
|
-
assert
|
89
|
-
refute_empty
|
90
|
-
assert_equal
|
91
|
-
assert_equal "eulav+tset",
|
89
|
+
assert has_header?("X-Request-Id")
|
90
|
+
refute_empty get_header("X-Request-Id")
|
91
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
92
|
+
assert_equal "eulav+tset", get_header("X-Request-Id")
|
92
93
|
end
|
93
94
|
|
94
95
|
def test_handler_config_with_proc_handler_returning_nil
|
95
96
|
marlowe_options[:handler] = ->(_item) {}
|
96
97
|
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
97
|
-
assert
|
98
|
-
refute_empty
|
99
|
-
assert_equal
|
100
|
-
assert_match(/\A[-\w]+\z/,
|
98
|
+
assert has_header?("X-Request-Id")
|
99
|
+
refute_empty get_header("X-Request-Id")
|
100
|
+
assert_equal get_header("X-Request-Id"), last_response.body
|
101
|
+
assert_match(/\A[-\w]+\z/, get_header("X-Request-Id"))
|
101
102
|
end
|
102
103
|
|
103
104
|
def test_return_config_false
|
104
105
|
marlowe_options[:return] = false
|
105
106
|
get "/"
|
106
|
-
refute
|
107
|
+
refute has_header?("X-Request-Id")
|
107
108
|
assert_equal RequestStore[:correlation_id], last_response.body
|
108
109
|
end
|
109
110
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marlowe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '3.
|
4
|
+
version: '3.1'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Trevor Oke
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-02-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: request_store
|
@@ -51,14 +51,14 @@ dependencies:
|
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '5.
|
54
|
+
version: '5.22'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '5.
|
61
|
+
version: '5.22'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: appraisal
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,19 +102,19 @@ dependencies:
|
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '1.1'
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
|
-
name: hoe-
|
105
|
+
name: hoe-git2
|
106
106
|
requirement: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '1.
|
110
|
+
version: '1.7'
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
113
|
version_requirements: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '1.
|
117
|
+
version: '1.7'
|
118
118
|
- !ruby/object:Gem::Dependency
|
119
119
|
name: hoe-rubygems
|
120
120
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,20 +143,6 @@ dependencies:
|
|
143
143
|
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: '1.0'
|
146
|
-
- !ruby/object:Gem::Dependency
|
147
|
-
name: minitest-bonus-assertions
|
148
|
-
requirement: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - "~>"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '3.0'
|
153
|
-
type: :development
|
154
|
-
prerelease: false
|
155
|
-
version_requirements: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '3.0'
|
160
146
|
- !ruby/object:Gem::Dependency
|
161
147
|
name: minitest-focus
|
162
148
|
requirement: !ruby/object:Gem::Requirement
|
@@ -219,20 +205,6 @@ dependencies:
|
|
219
205
|
- - "<"
|
220
206
|
- !ruby/object:Gem::Version
|
221
207
|
version: '14'
|
222
|
-
- !ruby/object:Gem::Dependency
|
223
|
-
name: rdoc
|
224
|
-
requirement: !ruby/object:Gem::Requirement
|
225
|
-
requirements:
|
226
|
-
- - ">="
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
version: '4.2'
|
229
|
-
type: :development
|
230
|
-
prerelease: false
|
231
|
-
version_requirements: !ruby/object:Gem::Requirement
|
232
|
-
requirements:
|
233
|
-
- - ">="
|
234
|
-
- !ruby/object:Gem::Version
|
235
|
-
version: '4.2'
|
236
208
|
- !ruby/object:Gem::Dependency
|
237
209
|
name: standard
|
238
210
|
requirement: !ruby/object:Gem::Requirement
|
@@ -262,33 +234,39 @@ dependencies:
|
|
262
234
|
- !ruby/object:Gem::Version
|
263
235
|
version: '0.21'
|
264
236
|
- !ruby/object:Gem::Dependency
|
265
|
-
name:
|
237
|
+
name: rdoc
|
266
238
|
requirement: !ruby/object:Gem::Requirement
|
267
239
|
requirements:
|
268
|
-
- - "
|
240
|
+
- - ">="
|
241
|
+
- !ruby/object:Gem::Version
|
242
|
+
version: '4.0'
|
243
|
+
- - "<"
|
269
244
|
- !ruby/object:Gem::Version
|
270
|
-
version: '
|
245
|
+
version: '7'
|
271
246
|
type: :development
|
272
247
|
prerelease: false
|
273
248
|
version_requirements: !ruby/object:Gem::Requirement
|
274
249
|
requirements:
|
275
|
-
- - "
|
250
|
+
- - ">="
|
276
251
|
- !ruby/object:Gem::Version
|
277
|
-
version: '
|
252
|
+
version: '4.0'
|
253
|
+
- - "<"
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
version: '7'
|
278
256
|
- !ruby/object:Gem::Dependency
|
279
257
|
name: hoe
|
280
258
|
requirement: !ruby/object:Gem::Requirement
|
281
259
|
requirements:
|
282
260
|
- - "~>"
|
283
261
|
- !ruby/object:Gem::Version
|
284
|
-
version: '
|
262
|
+
version: '4.2'
|
285
263
|
type: :development
|
286
264
|
prerelease: false
|
287
265
|
version_requirements: !ruby/object:Gem::Requirement
|
288
266
|
requirements:
|
289
267
|
- - "~>"
|
290
268
|
- !ruby/object:Gem::Version
|
291
|
-
version: '
|
269
|
+
version: '4.2'
|
292
270
|
description: |-
|
293
271
|
{Marlowe}[https://github.com/KineticCafe/marlowe] is a Rack middleware that
|
294
272
|
extracts or creates a request ID using a pre-defined header, permitting request
|
@@ -354,7 +332,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
354
332
|
- !ruby/object:Gem::Version
|
355
333
|
version: '0'
|
356
334
|
requirements: []
|
357
|
-
rubygems_version: 3.
|
335
|
+
rubygems_version: 3.4.10
|
358
336
|
signing_key:
|
359
337
|
specification_version: 4
|
360
338
|
summary: "{Marlowe}[https://github.com/KineticCafe/marlowe] is a Rack middleware that
|