intervention 0.1.0 → 0.1.1

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
  SHA1:
3
- metadata.gz: d83fa10542e7ef1ea5c39a549562f08909d634a0
4
- data.tar.gz: 435fa92b37c325a8fd40cf15481ff412564101f1
3
+ metadata.gz: 5cb373518e1a0985bdbde2581efbd6b6d73bccc0
4
+ data.tar.gz: 1585574390f891690da5147cc86abb404b4d809a
5
5
  SHA512:
6
- metadata.gz: 86982dcff951986b9c32c57c8cb6016f90cc1f4f90931f30956f25bf3963aee546a4369380c5a010eb45964b9f325313f037035534e43ac4b74910969bfefe7d
7
- data.tar.gz: 40e9ad7204db7dc0c53238f5157a945b3c3acebdef510e0a7d875b6c60fe2ef791cee5cabd62fe37d02088f20a7bde99d18bb583e47e056413e5bb3f28d68a2b
6
+ metadata.gz: 535d100a35b5dc4d045a96d19ce7c30b12eb0b1d3c4f749828a2add0c06ec192fa6f0d422e625b17602595dbbb1ad34d8e0733d642276a7cf321ef80db2418c5
7
+ data.tar.gz: 31a7da1e2f046fca410db30c8e2d9a7296bb5c264117bff61b76ae2570550e7a7944fd6fa10dd0ba447e9eb852f6da7fa4cc9d51a73bab7b488b4593825e9cb1
@@ -54,6 +54,14 @@ module Intervention
54
54
  def callbacks
55
55
  @config.callbacks ||= []
56
56
  end
57
+
58
+ def clients
59
+ @config.clients ||= []
60
+ end
61
+
62
+ def servers
63
+ @config.servers ||= []
64
+ end
57
65
  end
58
66
  end
59
67
 
@@ -7,9 +7,8 @@ module Intervention
7
7
  end
8
8
 
9
9
  def post_init
10
- Intervention.config.client = self
11
- @parser = Segregate.new(self)
12
- @server = EventMachine.connect Intervention.config.host_address, Intervention.config.host_port, Intervention::Server, client: self
10
+ Intervention.clients << self
11
+ @parser = Segregate.new(self, debug: true)
13
12
  end
14
13
 
15
14
  def receive_data data
@@ -18,9 +17,15 @@ module Intervention
18
17
 
19
18
  def on_message_complete parser
20
19
  callback :request
21
- @parser.headers['host'] = Intervention.config.host_address
22
- @parser.headers['accept-encoding'] = "deflate"
20
+
21
+ @server = EventMachine.connect (@parser.uri.host || @parser.headers['host']), Intervention.config.host_port, Intervention::Server, client: self
23
22
  @server.send_data @parser.raw_data
23
+ Intervention.clients.delete self
24
+ end
25
+
26
+ def unbind
27
+ @server.close_connection_after_writing if @server
28
+ self.close_connection
24
29
  end
25
30
 
26
31
  private
@@ -12,8 +12,8 @@ module Intervention
12
12
  end
13
13
 
14
14
  def post_init
15
- Intervention.config.server = self
16
- @parser = Segregate.new(self)
15
+ Intervention.servers << self
16
+ @parser = Segregate.new(self, debug: true)
17
17
  end
18
18
 
19
19
  def receive_data data
@@ -22,8 +22,16 @@ module Intervention
22
22
 
23
23
  def on_message_complete parser
24
24
  callback :response
25
+
25
26
  @client.send_data @parser.raw_data
26
27
  @client.close_connection_after_writing
28
+ self.close_connection
29
+ Intervention.servers.delete self
30
+ end
31
+
32
+ def unbind
33
+ @client.close_connection_after_writing if @client
34
+ self.close_connection
27
35
  end
28
36
 
29
37
  private
@@ -1,4 +1,4 @@
1
1
  module Intervention
2
- VERSION = "0.1.0".freeze
2
+ VERSION = "0.1.1".freeze
3
3
  DATE = "2013-11-11".freeze
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: intervention
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Slaughter
@@ -129,13 +129,13 @@ executables: []
129
129
  extensions: []
130
130
  extra_rdoc_files: []
131
131
  files:
132
- - README.md
133
- - License.md
134
132
  - History.md
133
+ - License.md
134
+ - README.md
135
+ - lib/intervention.rb
135
136
  - lib/intervention/client.rb
136
137
  - lib/intervention/server.rb
137
138
  - lib/intervention/version.rb
138
- - lib/intervention.rb
139
139
  - spec/helper.rb
140
140
  - spec/intervention_spec.rb
141
141
  homepage: http://benslaughter.github.io/intervention/
@@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
158
  version: '0'
159
159
  requirements: []
160
160
  rubyforge_project:
161
- rubygems_version: 2.0.3
161
+ rubygems_version: 2.2.2
162
162
  signing_key:
163
163
  specification_version: 4
164
164
  summary: 'Intervention: Super simple proxy'