Sha256: b469e02f966dc03c2ee10bdfa86d922308abbd686c0b7b62e54c54a471dde693

Contents?: true

Size: 768 Bytes

Versions: 3

Compression:

Stored size: 768 Bytes

Contents

module KwAPN
  
  require 'socket'
  require 'openssl'
  
  class Connection
    
    def connect(host, port, opts)
      ctx = OpenSSL::SSL::SSLContext.new()
      ctx.cert = OpenSSL::X509::Certificate.new(File::read(opts[:cert_file]))
      ctx.key  = OpenSSL::PKey::RSA.new(File::read(opts[:cert_file]))

      s = TCPSocket.new(host, port)
      ssl = OpenSSL::SSL::SSLSocket.new(s, ctx)
      ssl.connect # start SSL session
      ssl.sync_close = true # close underlying socket on SSLSocket#close
      ssl      
    end
    
    class << self
      def log(s)
        File.open(KwAPN::Config.options[:root].join("log", "kw_apn.log"), File::WRONLY|File::APPEND|File::CREAT, 0666) do |f|
          f.write("#{s}\n")
        end
      end
    end
    
  end
  
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
kw_apn-0.3.1 lib/connection.rb
kw_apn-0.3 lib/connection.rb
kw_apn-0.2 lib/connection.rb