Sha256: a829294a945c4ba8eacc9a340108450217f8c21447a7ab299abaec10cff4bfbc
Contents?: true
Size: 855 Bytes
Versions: 52
Compression:
Stored size: 855 Bytes
Contents
require 'openssl' module Mongo # A basic wrapper over Ruby's SSLSocket that initiates # a TCP connection over SSL and then provides an basic interface # mirroring Ruby's TCPSocket, vis., TCPSocket#send and TCPSocket#read. class SSLSocket attr_accessor :pool def initialize(host, port) @socket = ::TCPSocket.new(host, port) @ssl = OpenSSL::SSL::SSLSocket.new(@socket) @ssl.sync_close = true @ssl.connect end def setsockopt(key, value, n) @socket.setsockopt(key, value, n) end # Write to the SSL socket. # # @param buffer a buffer to send. # @param flags socket flags. Because Ruby's SSL def send(buffer, flags=0) @ssl.syswrite(buffer) end def read(length, buffer) @ssl.sysread(length, buffer) end def close @ssl.close end end end
Version data entries
52 entries across 52 versions & 3 rubygems