class TCPClient::SSLSocket
Public Class Methods
new(socket, address, configuration, deadline, exception)
click to toggle source
Calls superclass method
# File lib/tcp-client/ssl_socket.rb, line 16 def initialize(socket, address, configuration, deadline, exception) ssl_params = Hash[configuration.ssl_params] super(socket, create_context(ssl_params)) self.sync_close = true self.hostname = address.hostname deadline.valid? ? connect_with_deadline(deadline, exception) : connect post_connection_check(address.hostname) if should_verify?(ssl_params) end
Private Instance Methods
connect_with_deadline(deadline, exception)
click to toggle source
# File lib/tcp-client/ssl_socket.rb, line 31 def connect_with_deadline(deadline, exception) with_deadline(deadline, exception) { connect_nonblock(exception: false) } end
create_context(ssl_params)
click to toggle source
# File lib/tcp-client/ssl_socket.rb, line 27 def create_context(ssl_params) OpenSSL::SSL::SSLContext.new.tap { |ctx| ctx.set_params(ssl_params) } end
should_verify?(ssl_params)
click to toggle source
# File lib/tcp-client/ssl_socket.rb, line 35 def should_verify?(ssl_params) ssl_params[:verify_mode] != OpenSSL::SSL::VERIFY_NONE end