hoodoo 3.5.7 → 4.0.0
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/lib/hoodoo/services/middleware/middleware.rb +25 -19
- data/lib/hoodoo/services/middleware/rack_monkey_patch.rb +5 -5
- data/lib/hoodoo/version.rb +2 -2
- data/spec/services/middleware/middleware_multi_remote_spec.rb +1 -2
- data/spec/services/middleware/middleware_spec.rb +2 -0
- data/spec/services/services/response_spec.rb +8 -8
- data/spec/spec_helper.rb +3 -1
- metadata +133 -105
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ae37e6cc9a4253f25a8419994ab31ebfb804429dc155a45a6d49e8139e661d0
|
4
|
+
data.tar.gz: 443ae665bcd9f06ab7668b3d931b263967ec21bfabbf755c7267571d671ddd7e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53374dc0204b1f85a6482c5f568f597c6fe5c635037526e41e9eb23eeae2ba1b4129a084fb3f3da96cd2ad697be361e8ec5c11a19a9b2841c53f67ea5530ffe0
|
7
|
+
data.tar.gz: 07aa562c67febf7d5f9aa3ed59d1c44f1cf83edefbd0e9f1e6c322c8ad93f26c287aa3e90f9249db4352fbb7dd1b6238f86a68c9efb768349df4de00637bd57a
|
@@ -214,7 +214,7 @@ module Hoodoo; module Services
|
|
214
214
|
# of a search string, would find records on-or-after the date.
|
215
215
|
#
|
216
216
|
# Values are either a validation Proc or +nil+ for no validation. The
|
217
|
-
# Proc takes the search query value as its sole input
|
217
|
+
# Proc takes the search query value as its sole input parameter and must
|
218
218
|
# evaluate to the input value either unmodified or in some canonicalised
|
219
219
|
# form if it is valid, else to +nil+ if the input value is invalid. The
|
220
220
|
# canonicalisation is typically used to coerce a URI query string based
|
@@ -1160,8 +1160,11 @@ module Hoodoo; module Services
|
|
1160
1160
|
# Compile the remaining log payload and send it.
|
1161
1161
|
|
1162
1162
|
unless secure
|
1163
|
-
body =
|
1164
|
-
|
1163
|
+
body = nil
|
1164
|
+
if !interaction.rack_request.body.nil?
|
1165
|
+
body = interaction.rack_request.body.read( MAXIMUM_LOGGED_PAYLOAD_SIZE )
|
1166
|
+
interaction.rack_request.body.rewind()
|
1167
|
+
end
|
1165
1168
|
|
1166
1169
|
data[ :payload ][ :body ] = body
|
1167
1170
|
end
|
@@ -1342,7 +1345,7 @@ module Hoodoo; module Services
|
|
1342
1345
|
end
|
1343
1346
|
|
1344
1347
|
# This is part of the formalised structured logging interface upon which
|
1345
|
-
# external
|
1348
|
+
# external entities might depend. Change with care.
|
1346
1349
|
#
|
1347
1350
|
# For a given interaction, log the response *after the fact* of calling
|
1348
1351
|
# a resource implementation, using the target interface's resource name
|
@@ -1373,7 +1376,7 @@ module Hoodoo; module Services
|
|
1373
1376
|
# For other kinds of data, check the secure actions to see if the body
|
1374
1377
|
# should be included.
|
1375
1378
|
#
|
1376
|
-
# TODO: This uses deprecated
|
1379
|
+
# TODO: This uses deprecated accessors into the "context.request.list"
|
1377
1380
|
# object, but it keeps the code simple. It'd be nice to just have
|
1378
1381
|
# e.g. "data[ :list ] = context.request.list.to_h()" but the
|
1379
1382
|
# change in log output format might break dependent clients.
|
@@ -1416,7 +1419,7 @@ module Hoodoo; module Services
|
|
1416
1419
|
end
|
1417
1420
|
|
1418
1421
|
# This is part of the formalised structured logging interface upon which
|
1419
|
-
# external
|
1422
|
+
# external entities might depend. Change with care.
|
1420
1423
|
#
|
1421
1424
|
# For a given service interface, an implementation of which is receiving
|
1422
1425
|
# a given action under the given request context, log the response *after
|
@@ -1495,7 +1498,7 @@ module Hoodoo; module Services
|
|
1495
1498
|
# Log a debug message. Pass optional extra arguments which will be used as
|
1496
1499
|
# strings that get appended to the log message.
|
1497
1500
|
#
|
1498
|
-
# THIS IS
|
1501
|
+
# THIS IS INSECURE. Sensitive data might be logged. DO NOT USE IN DEPLOYED
|
1499
1502
|
# ENVIRONMENTS. At the time of writing, Hoodoo ensures this by only using
|
1500
1503
|
# debug logging in 'development' or 'test' environments.
|
1501
1504
|
#
|
@@ -1678,15 +1681,15 @@ module Hoodoo; module Services
|
|
1678
1681
|
# Rack provides no formal way to find out our host or port before a
|
1679
1682
|
# request arrives, because in part it might change due to clustering.
|
1680
1683
|
# For local development on an assumed single instance server, we can
|
1681
|
-
# ask Ruby itself for all
|
1684
|
+
# ask Ruby itself for all Rackup::Server instances, expecting just one.
|
1682
1685
|
# If there isn't just one, we rely on the Rack monkey patch or a
|
1683
1686
|
# hard coded default.
|
1684
1687
|
|
1685
1688
|
host = nil
|
1686
1689
|
port = nil
|
1687
1690
|
|
1688
|
-
if defined?( ::
|
1689
|
-
servers = ObjectSpace.each_object( ::
|
1691
|
+
if defined?( ::Rackup ) && defined?( ::Rackup::Server )
|
1692
|
+
servers = ObjectSpace.each_object( ::Rackup::Server )
|
1690
1693
|
|
1691
1694
|
if servers.count == 1
|
1692
1695
|
server = servers.first
|
@@ -1706,7 +1709,7 @@ module Hoodoo; module Services
|
|
1706
1709
|
port ||= '9292'
|
1707
1710
|
end
|
1708
1711
|
|
1709
|
-
# Announce the resource endpoints. We might not be able to
|
1712
|
+
# Announce the resource endpoints. We might not be able to announce
|
1710
1713
|
# the remote availability of this endpoint if the host/port are not
|
1711
1714
|
# determined; but that might just be because we are running under
|
1712
1715
|
# "racksh" and we wouldn't want to announce remotely anyway.
|
@@ -1964,11 +1967,14 @@ module Hoodoo; module Services
|
|
1964
1967
|
# data to read, it should return nil. If it doesn't, the payload is
|
1965
1968
|
# too big. Reject it.
|
1966
1969
|
|
1967
|
-
body =
|
1970
|
+
body = nil
|
1971
|
+
if !interaction.rack_request.body.nil?
|
1972
|
+
body = interaction.rack_request.body.read( MAXIMUM_PAYLOAD_SIZE )
|
1968
1973
|
|
1969
|
-
|
1970
|
-
|
1971
|
-
|
1974
|
+
unless ( body.nil? || body.is_a?( ::String ) ) && interaction.rack_request.body.read( MAXIMUM_PAYLOAD_SIZE ).nil?
|
1975
|
+
return response.add_error( 'platform.malformed',
|
1976
|
+
'message' => 'Body data exceeds configured maximum size for platform' )
|
1977
|
+
end
|
1972
1978
|
end
|
1973
1979
|
|
1974
1980
|
debug_log( interaction, 'Raw body data read successfully', body )
|
@@ -2156,7 +2162,7 @@ module Hoodoo; module Services
|
|
2156
2162
|
# locale value.
|
2157
2163
|
#
|
2158
2164
|
# We support neither a list of preferences nor "qvalues", so if there is
|
2159
|
-
# a list, we only take the first item; if there is a
|
2165
|
+
# a list, we only take the first item; if there is a value, we strip it
|
2160
2166
|
# leaving just the language part, e.g. "en-gb".
|
2161
2167
|
#
|
2162
2168
|
# +interaction+:: Hoodoo::Services::Middleware::Interaction instance
|
@@ -2422,7 +2428,7 @@ module Hoodoo; module Services
|
|
2422
2428
|
interaction.context.response.add_header( 'Content-Type', "#{ interaction.requested_content_type || 'application/json' }; charset=#{ interaction.requested_content_encoding || 'utf-8' }" )
|
2423
2429
|
end
|
2424
2430
|
|
2425
|
-
#
|
2431
|
+
# Simplistic CORS preflight handler.
|
2426
2432
|
#
|
2427
2433
|
# * http://www.w3.org/TR/cors/
|
2428
2434
|
# * http://www.w3.org/TR/cors/#preflight-request
|
@@ -2758,7 +2764,7 @@ module Hoodoo; module Services
|
|
2758
2764
|
# describing the current interaction.
|
2759
2765
|
#
|
2760
2766
|
# The interaction's request data will be updated with list parameter
|
2761
|
-
# information if
|
2767
|
+
# information if successful. The interaction's response data will be
|
2762
2768
|
# updated with error information if anything is wrong.
|
2763
2769
|
#
|
2764
2770
|
def process_query_string( interaction )
|
@@ -2849,7 +2855,7 @@ module Hoodoo; module Services
|
|
2849
2855
|
# #process_query_string.
|
2850
2856
|
#
|
2851
2857
|
# The interaction's request data will be updated with list parameter
|
2852
|
-
# information if
|
2858
|
+
# information if successful. The interaction's response data will be
|
2853
2859
|
# updated with error information if anything is wrong.
|
2854
2860
|
#
|
2855
2861
|
def process_query_hash( interaction, query_hash )
|
@@ -28,12 +28,12 @@
|
|
28
28
|
# 11-Nov-2014 (ADH): Split out from service_middleware.rb.
|
29
29
|
########################################################################
|
30
30
|
|
31
|
-
if defined?(
|
31
|
+
if defined?( Rackup ) && defined?( Rackup::Server )
|
32
32
|
|
33
33
|
# Part of the Rack monkey patch. See file
|
34
34
|
# "rack_monkey_path.rb"'s documentation for details.
|
35
35
|
#
|
36
|
-
module
|
36
|
+
module Rackup
|
37
37
|
|
38
38
|
# Part of the Rack monkey patch. See file
|
39
39
|
# "rack_monkey_path.rb"'s documentation for details.
|
@@ -45,12 +45,12 @@ if defined?( Rack ) && defined?( Rack::Server )
|
|
45
45
|
# Part of the Rack monkey patch. See file
|
46
46
|
# "rack_monkey_path.rb"'s documentation for details.
|
47
47
|
#
|
48
|
-
# This method is aliased in place of
|
48
|
+
# This method is aliased in place of Rackup::Server::start and reads
|
49
49
|
# the passed-in options hash to attempt to determine the host name
|
50
50
|
# and port number under which a Rack based service is running. It
|
51
51
|
# then calls through to Rack's original ::start implementation.
|
52
52
|
#
|
53
|
-
# +options+:: Options (see original
|
53
|
+
# +options+:: Options (see original Rackup::Server documentation).
|
54
54
|
#
|
55
55
|
def start_and_record_host_and_port( options = nil )
|
56
56
|
Hoodoo::Services::Middleware.record_host_and_port( options )
|
@@ -58,7 +58,7 @@ if defined?( Rack ) && defined?( Rack::Server )
|
|
58
58
|
end
|
59
59
|
|
60
60
|
# Part of the Rack monkey patch. Alias for the original
|
61
|
-
#
|
61
|
+
# Rackup::Server::start.
|
62
62
|
#
|
63
63
|
alias racks_original_start start
|
64
64
|
|
data/lib/hoodoo/version.rb
CHANGED
@@ -12,11 +12,11 @@ module Hoodoo
|
|
12
12
|
# The Hoodoo gem version. If this changes, be sure to re-run
|
13
13
|
# <tt>bundle install</tt> or <tt>bundle update</tt>.
|
14
14
|
#
|
15
|
-
VERSION = '
|
15
|
+
VERSION = '4.0.0'
|
16
16
|
|
17
17
|
# The Hoodoo gem date. If this changes, be sure to re-run
|
18
18
|
# <tt>bundle install</tt> or <tt>bundle update</tt>.
|
19
19
|
#
|
20
|
-
DATE = '2024-
|
20
|
+
DATE = '2024-06-26'
|
21
21
|
|
22
22
|
end
|
@@ -484,7 +484,6 @@ describe Hoodoo::Services::Middleware do
|
|
484
484
|
expect( parsed[ '_data' ] ).to eq( [ {
|
485
485
|
'CONTENT_TYPE' => 'application/json; charset=utf-8',
|
486
486
|
'HTTP_CONNECTION' => 'close',
|
487
|
-
'HTTP_VERSION' => 'HTTP/1.1',
|
488
487
|
'HTTP_HOST' => "127.0.0.1:#{ @port }"
|
489
488
|
} ] )
|
490
489
|
end
|
@@ -1577,7 +1576,7 @@ describe Hoodoo::Services::Middleware do
|
|
1577
1576
|
# Ruby can't kill off an "unresponsive" thread - there seems to be no
|
1578
1577
|
# equivalent of "kill -9" and the likes of "#exit!" are long gone - so
|
1579
1578
|
# the WEBrick server thread, which never returns to the Ruby interpreter
|
1580
|
-
# after the
|
1579
|
+
# after the Rackup::Server.start() call (or equivalent) can't die. Instead
|
1581
1580
|
# we are forced to write a fragile test that simulates a connection
|
1582
1581
|
# failure to the endpoint.
|
1583
1582
|
#
|
@@ -191,6 +191,7 @@ describe Hoodoo::Services::Middleware do
|
|
191
191
|
end
|
192
192
|
|
193
193
|
it 'should know about Memcached via environment variable' do
|
194
|
+
ENV[ 'MEMCACHE_URL' ] = nil
|
194
195
|
spec_helper_change_environment( 'MEMCACHED_HOST', nil ) do
|
195
196
|
expect(Hoodoo::Services::Middleware.has_memcached?).to eq(false)
|
196
197
|
end
|
@@ -251,6 +252,7 @@ describe Hoodoo::Services::Middleware do
|
|
251
252
|
end
|
252
253
|
|
253
254
|
it 'should know about Memcached via legacy environment variable' do
|
255
|
+
ENV[ 'MEMCACHED_HOST' ] = nil
|
254
256
|
spec_helper_change_environment( 'MEMCACHE_URL', nil ) do
|
255
257
|
expect(Hoodoo::Services::Middleware.has_memcached?).to eq(false)
|
256
258
|
end
|
@@ -159,7 +159,7 @@ describe Hoodoo::Services::Response do
|
|
159
159
|
|
160
160
|
expected = JSON.generate({})
|
161
161
|
expect(status).to eq(200)
|
162
|
-
expect(headers).to eq({'
|
162
|
+
expect(headers).to eq({'content-length' => expected.length.to_s})
|
163
163
|
expect(body).to eq([expected])
|
164
164
|
end
|
165
165
|
|
@@ -171,7 +171,7 @@ describe Hoodoo::Services::Response do
|
|
171
171
|
|
172
172
|
expected = JSON.generate({})
|
173
173
|
expect(status).to eq(200)
|
174
|
-
expect(headers).to eq({'
|
174
|
+
expect(headers).to eq({'x-foo' => 'baz', 'x-bar' => 'boo', 'content-length' => expected.length.to_s})
|
175
175
|
expect(body).to eq([expected])
|
176
176
|
end
|
177
177
|
|
@@ -186,7 +186,7 @@ describe Hoodoo::Services::Response do
|
|
186
186
|
|
187
187
|
expected = JSON.generate(errors_hash)
|
188
188
|
expect(status).to eq(422) # From the first error we stored, not the second
|
189
|
-
expect(headers).to eq({'
|
189
|
+
expect(headers).to eq({'content-length' => expected.length.to_s})
|
190
190
|
expect(body).to eq([expected])
|
191
191
|
end
|
192
192
|
|
@@ -198,7 +198,7 @@ describe Hoodoo::Services::Response do
|
|
198
198
|
|
199
199
|
expected = JSON.generate(response_hash)
|
200
200
|
expect(status).to eq(200) # From the first error we stored, not the second
|
201
|
-
expect(headers).to eq({'
|
201
|
+
expect(headers).to eq({'content-length' => expected.length.to_s})
|
202
202
|
expect(body).to eq([expected])
|
203
203
|
end
|
204
204
|
|
@@ -210,7 +210,7 @@ describe Hoodoo::Services::Response do
|
|
210
210
|
|
211
211
|
expected = JSON.generate({'_data' => response_array})
|
212
212
|
expect(status).to eq(200) # From the first error we stored, not the second
|
213
|
-
expect(headers).to eq({'
|
213
|
+
expect(headers).to eq({'content-length' => expected.length.to_s})
|
214
214
|
expect(body).to eq([expected])
|
215
215
|
end
|
216
216
|
|
@@ -222,7 +222,7 @@ describe Hoodoo::Services::Response do
|
|
222
222
|
|
223
223
|
expected = JSON.generate( { '_data' => response_array, '_dataset_size' => response_array.count } )
|
224
224
|
expect( status ).to eq( 200 )
|
225
|
-
expect( headers ).to eq( { '
|
225
|
+
expect( headers ).to eq( { 'content-length' => expected.length.to_s } )
|
226
226
|
expect( body ).to eq( [ expected ] )
|
227
227
|
end
|
228
228
|
|
@@ -234,7 +234,7 @@ describe Hoodoo::Services::Response do
|
|
234
234
|
|
235
235
|
expected = JSON.generate( { '_data' => response_array, '_estimated_dataset_size' => response_array.count } )
|
236
236
|
expect( status ).to eq( 200 )
|
237
|
-
expect( headers ).to eq( { '
|
237
|
+
expect( headers ).to eq( { 'content-length' => expected.length.to_s } )
|
238
238
|
expect( body ).to eq( [ expected ] )
|
239
239
|
end
|
240
240
|
|
@@ -251,7 +251,7 @@ describe Hoodoo::Services::Response do
|
|
251
251
|
'_estimated_dataset_size' => response_array.count } )
|
252
252
|
|
253
253
|
expect( status ).to eq( 200 )
|
254
|
-
expect( headers ).to eq( { '
|
254
|
+
expect( headers ).to eq( { 'content-length' => expected.length.to_s } )
|
255
255
|
expect( body ).to eq( [ expected ] )
|
256
256
|
end
|
257
257
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'webrick'
|
2
2
|
require 'webrick/https'
|
3
|
+
require 'rackup'
|
3
4
|
|
4
5
|
# Set the correct environment for testing.
|
5
6
|
|
@@ -257,6 +258,7 @@ def spec_helper_start_svc_app_in_thread_for( app_class, use_ssl = false, app_opt
|
|
257
258
|
|
258
259
|
Thread.start do
|
259
260
|
app = Rack::Builder.new do
|
261
|
+
use Rack::RewindableInput::Middleware
|
260
262
|
use Hoodoo::Services::Middleware unless app_options[:skip_hoodoo_middleware]
|
261
263
|
run app_class.new
|
262
264
|
end
|
@@ -286,7 +288,7 @@ def spec_helper_start_svc_app_in_thread_for( app_class, use_ssl = false, app_opt
|
|
286
288
|
# this is the application which will also run a local DRb server.
|
287
289
|
|
288
290
|
begin
|
289
|
-
|
291
|
+
Rackup::Server.start( options )
|
290
292
|
rescue => e
|
291
293
|
puts "TEST SERVER FAILURE: #{e.inspect}"
|
292
294
|
puts e.backtrace
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hoodoo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Loyalty New Zealand
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dalli
|
@@ -26,6 +26,20 @@ dependencies:
|
|
26
26
|
version: 3.2.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rack
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rackup
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
45
|
- - ">="
|
@@ -94,6 +108,20 @@ dependencies:
|
|
94
108
|
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: base64
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
97
125
|
- !ruby/object:Gem::Dependency
|
98
126
|
name: activerecord
|
99
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -154,16 +182,16 @@ dependencies:
|
|
154
182
|
name: alchemy-flux
|
155
183
|
requirement: !ruby/object:Gem::Requirement
|
156
184
|
requirements:
|
157
|
-
- -
|
185
|
+
- - "~>"
|
158
186
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.
|
187
|
+
version: '1.6'
|
160
188
|
type: :development
|
161
189
|
prerelease: false
|
162
190
|
version_requirements: !ruby/object:Gem::Requirement
|
163
191
|
requirements:
|
164
|
-
- -
|
192
|
+
- - "~>"
|
165
193
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.
|
194
|
+
version: '1.6'
|
167
195
|
- !ruby/object:Gem::Dependency
|
168
196
|
name: bundle-audit
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -240,14 +268,14 @@ dependencies:
|
|
240
268
|
requirements:
|
241
269
|
- - "~>"
|
242
270
|
- !ruby/object:Gem::Version
|
243
|
-
version: '
|
271
|
+
version: '2.1'
|
244
272
|
type: :development
|
245
273
|
prerelease: false
|
246
274
|
version_requirements: !ruby/object:Gem::Requirement
|
247
275
|
requirements:
|
248
276
|
- - "~>"
|
249
277
|
- !ruby/object:Gem::Version
|
250
|
-
version: '
|
278
|
+
version: '2.1'
|
251
279
|
- !ruby/object:Gem::Dependency
|
252
280
|
name: rake
|
253
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -657,126 +685,126 @@ signing_key:
|
|
657
685
|
specification_version: 4
|
658
686
|
summary: Opinionated APIs
|
659
687
|
test_files:
|
660
|
-
- spec/client/paginated_enumeration_spec.rb
|
661
|
-
- spec/client/headers_spec.rb
|
662
|
-
- spec/client/augmented_array_spec.rb
|
663
|
-
- spec/client/augmented_base_spec.rb
|
664
|
-
- spec/client/augmented_hash_spec.rb
|
665
|
-
- spec/client/endpoint/endpoint_spec.rb
|
666
|
-
- spec/client/endpoint/endpoints/amqp_spec.rb
|
667
|
-
- spec/client/endpoint/endpoints/not_found_spec.rb
|
668
|
-
- spec/client/endpoint/endpoints/auto_session_spec.rb
|
669
|
-
- spec/client/endpoint/endpoints/http_based_spec.rb
|
670
|
-
- spec/client/endpoint/endpoints/http_spec.rb
|
671
|
-
- spec/client/client_spec.rb
|
672
|
-
- spec/shared_examples/middleware_amqp.rb
|
673
|
-
- spec/transient_store/transient_store_spec.rb
|
674
|
-
- spec/transient_store/transient_store/mocks/dalli_client_spec.rb
|
675
|
-
- spec/transient_store/transient_store/mocks/redis_spec.rb
|
676
|
-
- spec/transient_store/transient_store/memcached_spec.rb
|
677
|
-
- spec/transient_store/transient_store/redis_spec.rb
|
678
|
-
- spec/transient_store/transient_store/memcached_redis_mirror_spec.rb
|
679
|
-
- spec/transient_store/transient_store/base_spec.rb
|
680
688
|
- spec/integration/service_actions_spec.rb
|
681
|
-
- spec/
|
682
|
-
- spec/utilities/utilities_spec.rb
|
683
|
-
- spec/logger/fast_writer_spec.rb
|
684
|
-
- spec/logger/logger_spec.rb
|
685
|
-
- spec/logger/slow_writer_spec.rb
|
686
|
-
- spec/logger/writers/stream_writer_spec.rb
|
687
|
-
- spec/logger/writers/log_entries_dot_com_writer_spec.rb
|
688
|
-
- spec/logger/writers/file_writer_spec.rb
|
689
|
-
- spec/communicators/slow_spec.rb
|
690
|
-
- spec/communicators/pool_spec.rb
|
691
|
-
- spec/communicators/fast_spec.rb
|
692
|
-
- spec/data/resources/log_spec.rb
|
689
|
+
- spec/ddtrace.rb
|
693
690
|
- spec/data/resources/caller_spec.rb
|
694
|
-
- spec/data/resources/session_spec.rb
|
695
691
|
- spec/data/resources/errors_spec.rb
|
696
|
-
- spec/data/
|
692
|
+
- spec/data/resources/session_spec.rb
|
693
|
+
- spec/data/resources/log_spec.rb
|
694
|
+
- spec/data/types/permissions_full_spec.rb
|
697
695
|
- spec/data/types/permissions_defaults_spec.rb
|
698
|
-
- spec/data/types/permissions_resources_spec.rb
|
699
696
|
- spec/data/types/error_primitive_spec.rb
|
700
|
-
- spec/data/types/
|
701
|
-
- spec/
|
702
|
-
- spec/active/active_record/translated_spec.rb
|
703
|
-
- spec/active/active_record/secure_spec.rb
|
704
|
-
- spec/active/active_record/support_spec.rb
|
705
|
-
- spec/active/active_record/search_helper_spec.rb
|
706
|
-
- spec/active/active_record/uuid_spec.rb
|
707
|
-
- spec/active/active_record/security_helper_spec.rb
|
708
|
-
- spec/active/active_record/manually_dated_spec.rb
|
709
|
-
- spec/active/active_record/error_mapping_shared_context.rb
|
710
|
-
- spec/active/active_record/base_spec.rb
|
711
|
-
- spec/active/active_record/writer_spec.rb
|
712
|
-
- spec/active/active_record/error_mapping_spec.rb
|
713
|
-
- spec/active/active_record/dated_spec.rb
|
714
|
-
- spec/active/active_record/creator_spec.rb
|
697
|
+
- spec/data/types/permissions_resources_spec.rb
|
698
|
+
- spec/data/types/permissions_spec.rb
|
715
699
|
- spec/errors/error_descriptions_spec.rb
|
716
700
|
- spec/errors/errors_spec.rb
|
717
|
-
- spec/
|
718
|
-
- spec/
|
719
|
-
- spec/
|
720
|
-
- spec/
|
721
|
-
- spec/monkey/patch/datadog_traced_amqp_spec.rb
|
722
|
-
- spec/monkey/monkey_spec.rb
|
701
|
+
- spec/new_relic/agent/transaction.rb
|
702
|
+
- spec/new_relic/agent/method_tracer.rb
|
703
|
+
- spec/new_relic/agent/logger.rb
|
704
|
+
- spec/presenters/base_dsl_spec.rb
|
723
705
|
- spec/presenters/common_resource_fields_spec.rb
|
724
|
-
- spec/presenters/embedding_spec.rb
|
725
706
|
- spec/presenters/walk_spec.rb
|
726
|
-
- spec/presenters/
|
707
|
+
- spec/presenters/embedding_spec.rb
|
708
|
+
- spec/presenters/types/array_spec.rb
|
727
709
|
- spec/presenters/types/boolean_spec.rb
|
728
|
-
- spec/presenters/types/
|
729
|
-
- spec/presenters/types/hash_spec.rb
|
730
|
-
- spec/presenters/types/text_spec.rb
|
710
|
+
- spec/presenters/types/date_time_spec.rb
|
731
711
|
- spec/presenters/types/integer_spec.rb
|
712
|
+
- spec/presenters/types/object_spec.rb
|
713
|
+
- spec/presenters/types/date_spec.rb
|
714
|
+
- spec/presenters/types/field_spec.rb
|
732
715
|
- spec/presenters/types/decimal_spec.rb
|
716
|
+
- spec/presenters/types/text_spec.rb
|
717
|
+
- spec/presenters/types/tags_spec.rb
|
733
718
|
- spec/presenters/types/uuid_spec.rb
|
734
|
-
- spec/presenters/types/field_spec.rb
|
735
|
-
- spec/presenters/types/array_spec.rb
|
736
|
-
- spec/presenters/types/date_spec.rb
|
737
|
-
- spec/presenters/types/enum_spec.rb
|
738
|
-
- spec/presenters/types/object_spec.rb
|
739
|
-
- spec/presenters/types/date_time_spec.rb
|
740
719
|
- spec/presenters/types/float_spec.rb
|
741
|
-
- spec/presenters/types/
|
742
|
-
- spec/presenters/
|
743
|
-
- spec/
|
744
|
-
- spec/
|
745
|
-
- spec/
|
746
|
-
- spec/
|
747
|
-
- spec/
|
748
|
-
- spec/
|
749
|
-
- spec/
|
750
|
-
- spec/services/middleware/
|
720
|
+
- spec/presenters/types/hash_spec.rb
|
721
|
+
- spec/presenters/types/string_spec.rb
|
722
|
+
- spec/presenters/types/enum_spec.rb
|
723
|
+
- spec/presenters/base_spec.rb
|
724
|
+
- spec/monkey/patch/newrelic_traced_amqp_spec.rb
|
725
|
+
- spec/monkey/patch/datadog_traced_amqp_spec.rb
|
726
|
+
- spec/monkey/patch/newrelic_middleware_analytics_spec.rb
|
727
|
+
- spec/monkey/monkey_spec.rb
|
728
|
+
- spec/shared_examples/middleware_amqp.rb
|
729
|
+
- spec/services/middleware/middleware_permissions_spec.rb
|
730
|
+
- spec/services/middleware/middleware_multi_local_spec.rb
|
751
731
|
- spec/services/middleware/middleware_dated_at_spec.rb
|
752
|
-
- spec/services/middleware/string_inquirer_spec.rb
|
753
732
|
- spec/services/middleware/middleware_exotic_communication_spec.rb
|
754
|
-
- spec/services/middleware/
|
755
|
-
- spec/services/middleware/
|
733
|
+
- spec/services/middleware/amqp_log_writer_spec.rb
|
734
|
+
- spec/services/middleware/middleware_spec.rb
|
735
|
+
- spec/services/middleware/middleware_public_spec.rb
|
756
736
|
- spec/services/middleware/endpoints/inter_resource_remote_spec.rb
|
757
737
|
- spec/services/middleware/endpoints/inter_resource_local_spec.rb
|
758
|
-
- spec/services/middleware/middleware_assumed_identity_spec.rb
|
759
738
|
- spec/services/middleware/middleware_create_update_spec.rb
|
760
|
-
- spec/services/middleware/
|
739
|
+
- spec/services/middleware/string_inquirer_spec.rb
|
761
740
|
- spec/services/middleware/exception_reporting/exception_reporting_spec.rb
|
762
741
|
- spec/services/middleware/exception_reporting/base_reporter_spec.rb
|
763
742
|
- spec/services/middleware/exception_reporting/reporters/airbrake_reporter_spec.rb
|
764
|
-
- spec/services/
|
743
|
+
- spec/services/middleware/middleware_multi_remote_spec.rb
|
744
|
+
- spec/services/middleware/middleware_assumed_identity_spec.rb
|
745
|
+
- spec/services/middleware/middleware_cors_spec.rb
|
746
|
+
- spec/services/middleware/middleware_logging_spec.rb
|
747
|
+
- spec/services/services/implementation_spec.rb
|
748
|
+
- spec/services/services/request_spec.rb
|
749
|
+
- spec/services/services/interface_spec.rb
|
750
|
+
- spec/services/services/context_spec.rb
|
751
|
+
- spec/services/services/session_spec.rb
|
752
|
+
- spec/services/services/response_spec.rb
|
753
|
+
- spec/services/services/application_spec.rb
|
754
|
+
- spec/services/services/permissions_spec.rb
|
755
|
+
- spec/services/discovery/discoverers/by_convention_spec.rb
|
756
|
+
- spec/services/discovery/discoverers/by_flux_spec.rb
|
757
|
+
- spec/services/discovery/discoverers/by_drb/by_drb_spec.rb
|
758
|
+
- spec/services/discovery/discoverers/by_drb/drb_server_spec.rb
|
759
|
+
- spec/services/discovery/discovery_spec.rb
|
765
760
|
- spec/services/discovery/results/for_remote_spec.rb
|
761
|
+
- spec/services/discovery/results/for_local_spec.rb
|
766
762
|
- spec/services/discovery/results/for_amqp_spec.rb
|
767
763
|
- spec/services/discovery/results/for_http_spec.rb
|
768
|
-
- spec/
|
769
|
-
- spec/
|
770
|
-
- spec/
|
771
|
-
- spec/
|
772
|
-
- spec/
|
773
|
-
- spec/
|
774
|
-
- spec/
|
775
|
-
- spec/
|
776
|
-
- spec/
|
777
|
-
- spec/
|
778
|
-
- spec/
|
779
|
-
- spec/
|
780
|
-
- spec/
|
764
|
+
- spec/logger/slow_writer_spec.rb
|
765
|
+
- spec/logger/fast_writer_spec.rb
|
766
|
+
- spec/logger/writers/log_entries_dot_com_writer_spec.rb
|
767
|
+
- spec/logger/writers/stream_writer_spec.rb
|
768
|
+
- spec/logger/writers/file_writer_spec.rb
|
769
|
+
- spec/logger/logger_spec.rb
|
770
|
+
- spec/communicators/fast_spec.rb
|
771
|
+
- spec/communicators/pool_spec.rb
|
772
|
+
- spec/communicators/slow_spec.rb
|
773
|
+
- spec/newrelic_rpm.rb
|
774
|
+
- spec/active/active_record/search_helper_spec.rb
|
775
|
+
- spec/active/active_record/manually_dated_spec.rb
|
776
|
+
- spec/active/active_record/error_mapping_spec.rb
|
777
|
+
- spec/active/active_record/creator_spec.rb
|
778
|
+
- spec/active/active_record/dated_spec.rb
|
779
|
+
- spec/active/active_record/finder_spec.rb
|
780
|
+
- spec/active/active_record/support_spec.rb
|
781
|
+
- spec/active/active_record/security_helper_spec.rb
|
782
|
+
- spec/active/active_record/translated_spec.rb
|
783
|
+
- spec/active/active_record/uuid_spec.rb
|
784
|
+
- spec/active/active_record/error_mapping_shared_context.rb
|
785
|
+
- spec/active/active_record/secure_spec.rb
|
786
|
+
- spec/active/active_record/writer_spec.rb
|
787
|
+
- spec/active/active_record/base_spec.rb
|
788
|
+
- spec/utilities/utilities_spec.rb
|
789
|
+
- spec/utilities/uuid_spec.rb
|
790
|
+
- spec/transient_store/transient_store_spec.rb
|
791
|
+
- spec/transient_store/transient_store/redis_spec.rb
|
792
|
+
- spec/transient_store/transient_store/memcached_spec.rb
|
793
|
+
- spec/transient_store/transient_store/mocks/dalli_client_spec.rb
|
794
|
+
- spec/transient_store/transient_store/mocks/redis_spec.rb
|
795
|
+
- spec/transient_store/transient_store/memcached_redis_mirror_spec.rb
|
796
|
+
- spec/transient_store/transient_store/base_spec.rb
|
781
797
|
- spec/files/regenerate.rb
|
782
|
-
- spec/
|
798
|
+
- spec/spec_helper.rb
|
799
|
+
- spec/client/augmented_array_spec.rb
|
800
|
+
- spec/client/augmented_hash_spec.rb
|
801
|
+
- spec/client/endpoint/endpoint_spec.rb
|
802
|
+
- spec/client/endpoint/endpoints/amqp_spec.rb
|
803
|
+
- spec/client/endpoint/endpoints/http_based_spec.rb
|
804
|
+
- spec/client/endpoint/endpoints/http_spec.rb
|
805
|
+
- spec/client/endpoint/endpoints/not_found_spec.rb
|
806
|
+
- spec/client/endpoint/endpoints/auto_session_spec.rb
|
807
|
+
- spec/client/paginated_enumeration_spec.rb
|
808
|
+
- spec/client/headers_spec.rb
|
809
|
+
- spec/client/client_spec.rb
|
810
|
+
- spec/client/augmented_base_spec.rb
|