kumonos 0.15.0 → 0.16.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a048fd88ee5509cdc200d1ed9b39f957ed18134f3ee20940d80110c65551b7d1
4
- data.tar.gz: 49453f544334eb8676db0104b8dd0c30b9a9d286dda42c9ae1764fa5238fb405
3
+ metadata.gz: 7552a947b18df88ba3119cc25787a74b7b11b9f9b0dc8595ab0ede425d37af5b
4
+ data.tar.gz: b259c3ab474176183c27fd8bb21e8b1588f482a85ebd045b68c738f9c7f9e503
5
5
  SHA512:
6
- metadata.gz: 331b89e58fd1cc68e77f4892490e82d88537074c231135f4927d4138eeebcd6ff18641a7dca3d7ad468c816594321b1be7f9f7b6d031bf3a0b9d1802234cad11
7
- data.tar.gz: 07decef7decf4040c6d80dac71cb365672bcec488757a64904027b4e000e4649ed26696206b839b779c6f1db838441b29a5749e78bc364d6c1e3cfeddcb3db3e
6
+ metadata.gz: 31d92d52e20390bca01ff44c9384732b6e7322160ea4d2cea09adb172fefe178dc5af4ba2036965ba9dd37abc382635baf8cd4475aeacf34809a8132e22bfdef
7
+ data.tar.gz: 3861238172661df1e09af4bf8d79618ad307c814b5bc0f0174ff3c863c7cd97cce02c2bb0d53e65d0091a0e46cda997094a301560c4a8ca6a9a65d22f1a2fa84
data/example/book.yml CHANGED
@@ -5,6 +5,7 @@ dependencies:
5
5
  - name: 'user'
6
6
  cluster_name: 'user-development'
7
7
  lb: 'user-app:8080'
8
+ host_header: 'user-service'
8
9
  tls: false
9
10
  connect_timeout_ms: 250
10
11
  circuit_breaker:
@@ -15,7 +15,8 @@ module Kumonos
15
15
  def build(h)
16
16
  name = h.fetch('name')
17
17
  cluster_name = h.fetch('cluster_name')
18
- routes = h.fetch('routes').map { |r| Route.build(r, cluster_name) }
18
+ host_header = h['host_header']
19
+ routes = h.fetch('routes').map { |r| Route.build(r, cluster_name, host_header) }
19
20
  new(name, [name], routes)
20
21
  end
21
22
  end
@@ -27,17 +28,22 @@ module Kumonos
27
28
  end
28
29
  end
29
30
 
30
- Route = Struct.new(:prefix, :cluster, :timeout_ms, :retry_policy) do
31
+ Route = Struct.new(:prefix, :cluster, :timeout_ms, :retry_policy, :host_header) do
31
32
  class << self
32
- def build(h, cluster)
33
- new(h.fetch('prefix'), cluster, h.fetch('timeout_ms'), RetryPolicy.build(h.fetch('retry_policy')))
33
+ def build(h, cluster, host_header)
34
+ new(h.fetch('prefix'), cluster, h.fetch('timeout_ms'), RetryPolicy.build(h.fetch('retry_policy')), host_header)
34
35
  end
35
36
  end
36
37
 
37
38
  def to_h
38
39
  h = super
39
40
  h.delete(:retry_policy)
40
- h[:auto_host_rewrite] = true
41
+ h.delete(:host_header)
42
+ if host_header
43
+ h[:host_rewrite] = host_header
44
+ else
45
+ h[:auto_host_rewrite] = true
46
+ end
41
47
  h
42
48
  end
43
49
 
@@ -1,3 +1,3 @@
1
1
  module Kumonos
2
- VERSION = '0.15.0'.freeze
2
+ VERSION = '0.16.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kumonos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taiki Ono
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-15 00:00:00.000000000 Z
11
+ date: 2018-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json-schema