kage 0.9.0 → 0.9.1

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.
data/CHANGES.md ADDED
@@ -0,0 +1,8 @@
1
+ # 0.9.1 (2012-10-22)
2
+
3
+ - Changed the default backend selection to all rather than just master
4
+ - Allow `:all` as the return value from `on_select_backends` callback
5
+
6
+ # 0.9.0 (2012-10-21)
7
+
8
+ - Initial release
data/README.md CHANGED
@@ -72,7 +72,7 @@ To make `on_backend_finished` callback simpler, if the current request matches w
72
72
  ```ruby
73
73
  responses = {
74
74
  :original => {:data => "(RAW HTTP response)", :elapsed => 0.1234},
75
- :sandbox => {:data => "(RAW HTTP response)", :elspaed => 0.2333},
75
+ :sandbox => {:data => "(RAW HTTP response)", :elapsed => 0.2333},
76
76
  }
77
77
  ```
78
78
 
@@ -49,7 +49,7 @@ module Kage
49
49
  end
50
50
 
51
51
  def connect_backends!(req, headers, backends)
52
- @backends = select_backends(req, headers).select {|b| backends[b]}
52
+ @backends = select_backends(req, headers, backends).select {|b| backends[b]}
53
53
  @backends.unshift master_backend unless @backends.include? master_backend
54
54
  info "Backends for #{req[:method]} #{req[:url]} -> #{@backends}"
55
55
 
@@ -59,8 +59,9 @@ module Kage
59
59
  end
60
60
  end
61
61
 
62
- def select_backends(request, headers)
63
- callback(:on_select_backends, request, headers) { [master_backend] }
62
+ def select_backends(request, headers, backends)
63
+ selected = callback(:on_select_backends, request, headers) { :all }
64
+ selected == :all ? backends.keys : selected
64
65
  end
65
66
 
66
67
  def handle(server)
data/lib/kage/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kage
2
- VERSION = "0.9.0"
2
+ VERSION = "0.9.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-10-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: em-proxy
16
- requirement: &70352387160200 !ruby/object:Gem::Requirement
16
+ requirement: &70166046140720 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.1.7
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70352387160200
24
+ version_requirements: *70166046140720
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: http_parser.rb
27
- requirement: &70352387159700 !ruby/object:Gem::Requirement
27
+ requirement: &70166046140200 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.5.3
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70352387159700
35
+ version_requirements: *70166046140200
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70352387159300 !ruby/object:Gem::Requirement
38
+ requirement: &70166046139820 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70352387159300
46
+ version_requirements: *70166046139820
47
47
  description: em-proxy based shadow proxy server
48
48
  email:
49
49
  - miyagawa@bulknews.net
@@ -52,6 +52,7 @@ extensions: []
52
52
  extra_rdoc_files: []
53
53
  files:
54
54
  - .gitignore
55
+ - CHANGES.md
55
56
  - Gemfile
56
57
  - LICENSE
57
58
  - README.md