class RProxy::TargetConnection
Public Class Methods
new(client, disable_cb, buffer_size, usage_manager)
click to toggle source
# File lib/r_proxy/target_connection.rb, line 4 def initialize(client, disable_cb, buffer_size, usage_manager) @disable_unbind_callback = disable_cb @client_connection = client @buffer_size = buffer_size @usage_manager = usage_manager end
Public Instance Methods
assign_logger(logger)
click to toggle source
# File lib/r_proxy/target_connection.rb, line 11 def assign_logger(logger) @logger = logger end
assign_user_and_password(username, password)
click to toggle source
# File lib/r_proxy/target_connection.rb, line 15 def assign_user_and_password(username, password) @username = username @password = password end
connection_completed()
click to toggle source
# File lib/r_proxy/target_connection.rb, line 20 def connection_completed response_proxy_connect_ready end
proxy_target_unbound()
click to toggle source
# File lib/r_proxy/target_connection.rb, line 24 def proxy_target_unbound close_connection end
unbind()
click to toggle source
# File lib/r_proxy/target_connection.rb, line 28 def unbind return if @disable_unbind_callback @usage_manager.report_usage(@username, @password, get_proxied_bytes) end
Private Instance Methods
response_proxy_connect_ready()
click to toggle source
# File lib/r_proxy/target_connection.rb, line 35 def response_proxy_connect_ready begin @client_connection.send_data(RProxy::Constants::HTTP_SUCCESS) @client_connection.proxy_incoming_to(self, @buffer_size) proxy_incoming_to(@client_connection, @buffer_size) rescue => e port, ip = Socket.unpack_sockaddr_in(get_peername) @logger.error("target ip: #{ip}, port: #{port}, #{e.message}") if @logger end end