605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
|
# File 'lib/httpclient/session.rb', line 605
def create_socket(host, port)
socket = nil
begin
@debug_dev << "! CONNECT TO #{host}:#{port}\n" if @debug_dev
clean_host = host.delete("[]")
if @socket_local == Site::EMPTY
socket = TCPSocket.new(clean_host, port)
else
clean_local = @socket_local.host.delete("[]")
socket = TCPSocket.new(clean_host, port, clean_local, @socket_local.port)
end
socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_KEEPALIVE, true) if @tcp_keepalive
if @debug_dev
@debug_dev << "! CONNECTION ESTABLISHED\n"
socket.extend(DebugSocket)
socket.debug_dev = @debug_dev
end
rescue SystemCallError => e
raise e.class, e.message + " (#{host}:#{port})"
rescue SocketError => e
raise e.class, e.message + " (#{host}:#{port})"
end
socket
end
|