class MiniProxy::FakeSSLServer

MiniProxy fake SSL enabled server, which receives relayed requests from the ProxyServer

Public Class Methods

new(config = {}, default = WEBrick::Config::HTTP) click to toggle source
Calls superclass method
# File lib/miniproxy/fake_ssl_server.rb, line 8
def initialize(config = {}, default = WEBrick::Config::HTTP)
  config = config.merge({
    Logger: WEBrick::Log.new(nil, 0), # silence logging
    AccessLog: [], # silence logging
    SSLEnable: true,
    SSLCertificate: OpenSSL::X509::Certificate.new(certificate_file("cert.pem")),
    SSLPrivateKey: OpenSSL::PKey::RSA.new(certificate_file("cert.key")),
    SSLVerifyClient: OpenSSL::SSL::VERIFY_NONE,
  })

  super(config, default)
end

Public Instance Methods

service(req, res) click to toggle source
Calls superclass method
# File lib/miniproxy/fake_ssl_server.rb, line 21
def service(req, res)
  if self.config[:AllowedRequestCheck].call(req)
    super(req, res)
  else
    self.config[:MockHandlerCallback].call(req, res)
  end
end

Private Instance Methods

certificate_file(filename) click to toggle source
# File lib/miniproxy/fake_ssl_server.rb, line 31
def certificate_file(filename)
  filename = File.join( File.dirname(__FILE__), "../../ssl/#{filename}")
  File.open(filename).read
end