Class: Metasploit::Aggregator::HttpForwarder

Inherits:
Forwarder
  • Object
show all
Defined in:
lib/metasploit/aggregator/http_forwarder.rb

Constant Summary collapse

CONNECTION_TIMEOUT =

one minute

60

Instance Attribute Summary

Attributes inherited from Forwarder

#log_messages, #response_queues

Instance Method Summary collapse

Methods inherited from Forwarder

#connection_info, #connections

Constructor Details

#initializeHttpForwarder

Returns a new instance of HttpForwarder.



13
14
15
# File 'lib/metasploit/aggregator/http_forwarder.rb', line 13

def initialize
  super
end

Instance Method Details

#forward(connection) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/metasploit/aggregator/http_forwarder.rb', line 17

def forward(connection)
  #forward input requests
  request_obj = Metasploit::Aggregator::Http::Responder.get_data(connection, false)
  uri = Metasploit::Aggregator::Http::Request.parse_uri(request_obj)
  @forwarder_mutex.synchronize do
    unless uri.nil?
      unless @response_queues[uri]
        uri_responder = Metasploit::Aggregator::Http::Responder.new(uri)
        uri_responder.log_messages = @log_messages
        @response_queues[uri] = uri_responder
      end
      @response_queues[uri].queue << request_obj
      @response_queues[uri].time = Time.now
    else
      connection.close
    end
  end
end