kumonos 0.15.0 → 0.16.0

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