Sha256: cc3ee3534dc0fe4e48cf5a76f3037688224609aa4cadbcc71e43d2d0d1daf9b7

Contents?: true

Size: 748 Bytes

Versions: 15

Compression:

Stored size: 748 Bytes

Contents

require 'openssl'

class Eye::Checker::SslSocket < Eye::Checker::Socket

  # ctx params from http://ruby-doc.org/stdlib-1.9.3/libdoc/openssl/rdoc/OpenSSL/SSL/SSLContext.html
  #
  # examples:
  #
  #   check :ssl_socket, :addr => "tcp://127.0.0.1:443", :every => 5.seconds, :times => 1, :timeout => 1.second,
  #     :ctx => {ssl_version: :SSLv23, verify_mode: OpenSSL::SSL::VERIFY_NONE}
  #

  param :ctx, Hash, nil, ssl_version: :SSLv23, verify_mode: OpenSSL::SSL::VERIFY_NONE

private

  def open_socket
    OpenSSL::SSL::SSLSocket.new(super, ctx_params).tap do |socket|
      socket.sync_close = true
      socket.connect
    end
  end

  def ctx_params
    @ctx_params ||= OpenSSL::SSL::SSLContext.new.tap { |c| c.set_params(ctx) }
  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
eye-0.10.1.pre lib/eye/checker/ssl_socket.rb
eye-0.10.0 lib/eye/checker/ssl_socket.rb
eye-0.10.0.alpha2 lib/eye/checker/ssl_socket.rb
eye-0.10.0.alpha lib/eye/checker/ssl_socket.rb
eye-0.9.4.nosigar lib/eye/checker/ssl_socket.rb
eye-0.9.4 lib/eye/checker/ssl_socket.rb
eye-0.9.3 lib/eye/checker/ssl_socket.rb
eye-0.9.2.nosigar lib/eye/checker/ssl_socket.rb
eye-0.9.2 lib/eye/checker/ssl_socket.rb
eye-0.9.1 lib/eye/checker/ssl_socket.rb
eye-0.9.pre lib/eye/checker/ssl_socket.rb
eye-0.8.1 lib/eye/checker/ssl_socket.rb
eye-0.8.celluloid15 lib/eye/checker/ssl_socket.rb
eye-0.8 lib/eye/checker/ssl_socket.rb
eye-0.8.rc lib/eye/checker/ssl_socket.rb