Class: Intervention::Client
- Inherits:
-
EventMachine::Connection
- Object
- EventMachine::Connection
- Intervention::Client
- Defined in:
- lib/intervention/client.rb
Instance Attribute Summary collapse
-
#parser ⇒ Object
readonly
Returns the value of attribute parser.
-
#server ⇒ Object
readonly
Returns the value of attribute server.
Instance Method Summary collapse
- #inspect ⇒ Object
- #on_message_complete(parser) ⇒ Object
- #post_init ⇒ Object
- #receive_data(data) ⇒ Object
- #unbind ⇒ Object
Instance Attribute Details
#parser ⇒ Object (readonly)
Returns the value of attribute parser.
3 4 5 |
# File 'lib/intervention/client.rb', line 3 def parser @parser end |
#server ⇒ Object (readonly)
Returns the value of attribute server.
3 4 5 |
# File 'lib/intervention/client.rb', line 3 def server @server end |
Instance Method Details
#inspect ⇒ Object
5 6 7 |
# File 'lib/intervention/client.rb', line 5 def inspect "#<Client:%s listen:%s>" % [(object_id << 1).to_s(16), Intervention.config.listen_port] end |
#on_message_complete(parser) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/intervention/client.rb', line 18 def parser callback :request @server = EventMachine.connect (@parser.uri.host || @parser.headers['host']), Intervention.config.host_port, Intervention::Server, client: self @server.send_data @parser.raw_data Intervention.clients.delete self end |
#post_init ⇒ Object
9 10 11 12 |
# File 'lib/intervention/client.rb', line 9 def post_init Intervention.clients << self @parser = Segregate.new(self, debug: true) end |
#receive_data(data) ⇒ Object
14 15 16 |
# File 'lib/intervention/client.rb', line 14 def receive_data data @parser.parse_data data end |
#unbind ⇒ Object
26 27 28 29 |
# File 'lib/intervention/client.rb', line 26 def unbind @server.close_connection_after_writing if @server self.close_connection end |