class Shifter

Public Class Methods

build_services() { |self, service| ... } click to toggle source
# File lib/rest_shifter/shifter.rb, line 37
def self.build_services
  @services.each do |service|
    if service.request_accept.to_s == ''
      send(service.method_used.to_sym, service.path) do
        yield self, service
      end
    else
      send(service.method_used.to_sym, service.path, :provides => service.request_accept.to_s) do
        yield self, service
      end
    end
  end
end
run_ssl!(port, cert, key) click to toggle source
# File lib/rest_shifter/shifter.rb, line 10
def self.run_ssl! port, cert, key
  server_options = {
    :Port => port.to_i,
    :Host => bind,
    :SSLEnable => true,
    :SSLCertificate => OpenSSL::X509::Certificate.new(File.open(cert).read),
    :SSLPrivateKey => OpenSSL::PKey::RSA.new(File.open(key).read),
    :SSLVerifyClient    => OpenSSL::SSL::VERIFY_NONE
  }

  Rack::Handler::WEBrick.run self, server_options do |server|
    [:INT, :TERM].each { |sig| trap(sig) { server.stop } }
    server.threaded = settings.threaded if server.respond_to? :threaded=
      set :running, true
  end
end