hoodoo 3.5.7 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|