sitehub 0.4.10 → 0.5.0.alpha2
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/Gemfile.lock +18 -7
- data/lib/sitehub.rb +1 -0
- data/lib/sitehub/builder.rb +18 -32
- data/lib/sitehub/collection/route_collection.rb +0 -6
- data/lib/sitehub/core.rb +69 -0
- data/lib/sitehub/equality.rb +0 -1
- data/lib/sitehub/forward_proxy.rb +4 -17
- data/lib/sitehub/location_rewriters.rb +2 -0
- data/lib/sitehub/middleware.rb +3 -1
- data/lib/sitehub/middleware/config_loader.rb +39 -0
- data/lib/sitehub/middleware/reverse_proxy.rb +1 -1
- data/lib/sitehub/middleware/route.rb +35 -0
- data/lib/sitehub/middleware/{forward_proxies.rb → routes.rb} +21 -13
- data/lib/sitehub/{nil_proxy.rb → nil_route.rb} +1 -1
- data/lib/sitehub/{forward_proxy_builder.rb → route_builder.rb} +90 -56
- data/lib/sitehub/version.rb +1 -1
- data/sitehub.gemspec +2 -1
- data/spec/sitehub/builder_spec.rb +58 -64
- data/spec/sitehub/collection/route_collection_spec.rb +0 -13
- data/spec/sitehub/core_spec.rb +131 -0
- data/spec/sitehub/forward_proxy_spec.rb +1 -47
- data/spec/sitehub/middleware/config_loader_spec.rb +64 -0
- data/spec/sitehub/middleware/route_spec.rb +53 -0
- data/spec/sitehub/middleware/{forward_proxies_spec.rb → routes_spec.rb} +71 -42
- data/spec/sitehub/{nil_proxy_spec.rb → nil_route_spec.rb} +2 -2
- data/spec/sitehub/{forward_proxy_builder_spec.rb → route_builder_spec.rb} +88 -59
- data/spec/support/shared_contexts/middleware_context.rb +7 -1
- data/spec/support/shared_examples/sitehub_json_context.rb +46 -0
- metadata +35 -14
@@ -10,7 +10,7 @@ shared_context :middleware_test do
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def collect_middleware(rack_app)
|
13
|
-
[
|
13
|
+
[].tap do |middleware|
|
14
14
|
while (rack_app = rack_app.instance_variable_get(:@app))
|
15
15
|
middleware << rack_app
|
16
16
|
end
|
@@ -28,6 +28,12 @@ shared_context :middleware_test do
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
+
RSpec::Matchers.define :be_using_rack_stack do |*expected|
|
32
|
+
match do |actual|
|
33
|
+
collect_middleware(actual).collect(&:class) == expected
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
31
37
|
def create_middleware
|
32
38
|
Class.new do
|
33
39
|
attr_reader :app, :arg
|
@@ -0,0 +1,46 @@
|
|
1
|
+
shared_context :sitehub_json do
|
2
|
+
let(:sitehub_json) do
|
3
|
+
{
|
4
|
+
proxies: [proxy_1, proxy_2]
|
5
|
+
}
|
6
|
+
end
|
7
|
+
|
8
|
+
let(:proxy_1) do
|
9
|
+
{
|
10
|
+
path: '/route_1',
|
11
|
+
sitehub_cookie_path: 'route_1_cookie_path',
|
12
|
+
routes: [route_1]
|
13
|
+
}
|
14
|
+
end
|
15
|
+
|
16
|
+
let(:proxy_2) do
|
17
|
+
{
|
18
|
+
path: '/route_1',
|
19
|
+
sitehub_cookie_path: 'route_1_cookie_path',
|
20
|
+
splits: [split_1, split_2]
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
let(:route_1) do
|
25
|
+
{
|
26
|
+
label: :route_label_1,
|
27
|
+
url: 'http://lvl-up.uk/'
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
31
|
+
let(:split_1) do
|
32
|
+
{
|
33
|
+
label: :split_label_1,
|
34
|
+
url: 'http://lvl-up.uk/',
|
35
|
+
percentage: 50
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
let(:split_2) do
|
40
|
+
{
|
41
|
+
label: :split_label_2,
|
42
|
+
url: 'http://lvl-up.uk/',
|
43
|
+
percentage: 50
|
44
|
+
}
|
45
|
+
end
|
46
|
+
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sitehub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0.alpha2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ladtech
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: uuid
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: activesupport
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: bundler
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -336,18 +350,18 @@ files:
|
|
336
350
|
- lib/sitehub/cookie/attribute.rb
|
337
351
|
- lib/sitehub/cookie/flag.rb
|
338
352
|
- lib/sitehub/cookie_rewriting.rb
|
353
|
+
- lib/sitehub/core.rb
|
339
354
|
- lib/sitehub/downstream_client.rb
|
340
355
|
- lib/sitehub/equality.rb
|
341
356
|
- lib/sitehub/forward_proxy.rb
|
342
|
-
- lib/sitehub/forward_proxy_builder.rb
|
343
357
|
- lib/sitehub/getter_setter_methods.rb
|
344
358
|
- lib/sitehub/http_headers.rb
|
345
359
|
- lib/sitehub/location_rewriter.rb
|
346
360
|
- lib/sitehub/location_rewriters.rb
|
347
361
|
- lib/sitehub/memoize.rb
|
348
362
|
- lib/sitehub/middleware.rb
|
363
|
+
- lib/sitehub/middleware/config_loader.rb
|
349
364
|
- lib/sitehub/middleware/error_handling.rb
|
350
|
-
- lib/sitehub/middleware/forward_proxies.rb
|
351
365
|
- lib/sitehub/middleware/logging.rb
|
352
366
|
- lib/sitehub/middleware/logging/access_logger.rb
|
353
367
|
- lib/sitehub/middleware/logging/error_logger.rb
|
@@ -356,13 +370,16 @@ files:
|
|
356
370
|
- lib/sitehub/middleware/logging/log_wrapper.rb
|
357
371
|
- lib/sitehub/middleware/logging/request_log.rb
|
358
372
|
- lib/sitehub/middleware/reverse_proxy.rb
|
373
|
+
- lib/sitehub/middleware/route.rb
|
374
|
+
- lib/sitehub/middleware/routes.rb
|
359
375
|
- lib/sitehub/middleware/transaction_id.rb
|
360
376
|
- lib/sitehub/nil_location_rewriter.rb
|
361
|
-
- lib/sitehub/
|
377
|
+
- lib/sitehub/nil_route.rb
|
362
378
|
- lib/sitehub/request.rb
|
363
379
|
- lib/sitehub/request_mapping.rb
|
364
380
|
- lib/sitehub/resolver.rb
|
365
381
|
- lib/sitehub/response.rb
|
382
|
+
- lib/sitehub/route_builder.rb
|
366
383
|
- lib/sitehub/rules.rb
|
367
384
|
- lib/sitehub/string_utils.rb
|
368
385
|
- lib/sitehub/version.rb
|
@@ -378,17 +395,17 @@ files:
|
|
378
395
|
- spec/sitehub/cookie/flag_spec.rb
|
379
396
|
- spec/sitehub/cookie_rewriting_spec.rb
|
380
397
|
- spec/sitehub/cookie_spec.rb
|
398
|
+
- spec/sitehub/core_spec.rb
|
381
399
|
- spec/sitehub/downstream_client_spec.rb
|
382
400
|
- spec/sitehub/equality_spec.rb
|
383
|
-
- spec/sitehub/forward_proxy_builder_spec.rb
|
384
401
|
- spec/sitehub/forward_proxy_spec.rb
|
385
402
|
- spec/sitehub/http_headers_spec.rb
|
386
403
|
- spec/sitehub/integration_spec.rb
|
387
404
|
- spec/sitehub/location_rewriter_spec.rb
|
388
405
|
- spec/sitehub/location_rewriters_spec.rb
|
389
406
|
- spec/sitehub/memoize_spec.rb
|
407
|
+
- spec/sitehub/middleware/config_loader_spec.rb
|
390
408
|
- spec/sitehub/middleware/error_handling_spec.rb
|
391
|
-
- spec/sitehub/middleware/forward_proxies_spec.rb
|
392
409
|
- spec/sitehub/middleware/logging/access_logger_spec.rb
|
393
410
|
- spec/sitehub/middleware/logging/error_logger_spec.rb
|
394
411
|
- spec/sitehub/middleware/logging/log_entry_spec.rb
|
@@ -396,14 +413,17 @@ files:
|
|
396
413
|
- spec/sitehub/middleware/logging/log_wrapper_spec.rb
|
397
414
|
- spec/sitehub/middleware/logging/request_log_spec.rb
|
398
415
|
- spec/sitehub/middleware/reverse_proxy_spec.rb
|
416
|
+
- spec/sitehub/middleware/route_spec.rb
|
417
|
+
- spec/sitehub/middleware/routes_spec.rb
|
399
418
|
- spec/sitehub/middleware/transaction_id_spec.rb
|
400
419
|
- spec/sitehub/middleware_spec.rb
|
401
420
|
- spec/sitehub/nil_location_rewriter_spec.rb
|
402
|
-
- spec/sitehub/
|
421
|
+
- spec/sitehub/nil_route_spec.rb
|
403
422
|
- spec/sitehub/request_mapping_spec.rb
|
404
423
|
- spec/sitehub/request_spec.rb
|
405
424
|
- spec/sitehub/resolver_spec.rb
|
406
425
|
- spec/sitehub/response_spec.rb
|
426
|
+
- spec/sitehub/route_builder_spec.rb
|
407
427
|
- spec/sitehub_spec.rb
|
408
428
|
- spec/spec_helper.rb
|
409
429
|
- spec/support/async.rb
|
@@ -420,6 +440,7 @@ files:
|
|
420
440
|
- spec/support/shared_examples.rb
|
421
441
|
- spec/support/shared_examples/memoized_helpers.rb
|
422
442
|
- spec/support/shared_examples/prohibited_http_header_filter.rb
|
443
|
+
- spec/support/shared_examples/sitehub_json_context.rb
|
423
444
|
- spec/support/silent_warnings.rb
|
424
445
|
- tasks/code_quality.rake
|
425
446
|
- tasks/gem_tasks.rake
|
@@ -441,9 +462,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
441
462
|
version: '0'
|
442
463
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
443
464
|
requirements:
|
444
|
-
- - "
|
465
|
+
- - ">"
|
445
466
|
- !ruby/object:Gem::Version
|
446
|
-
version:
|
467
|
+
version: 1.3.1
|
447
468
|
requirements: []
|
448
469
|
rubyforge_project:
|
449
470
|
rubygems_version: 2.5.1
|