class Metasploit::Aggregator::HttpForwarder

Constants

CONNECTION_TIMEOUT

Public Class Methods

new() click to toggle source
Calls superclass method Metasploit::Aggregator::Forwarder::new
# File lib/metasploit/aggregator/http_forwarder.rb, line 13
def initialize
  super
end

Public Instance Methods

forward(connection) click to toggle source
# 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