Sha256: f12c061ad6494add72b4b4d0ac216e4d91531c72a09137db6b3b5f8446a16841

Contents?: true

Size: 1.13 KB

Versions: 271

Compression:

Stored size: 1.13 KB

Contents

require 'rack'
require 'rack/request'
require 'rack/response'

require 'puppet/network/http'
require 'puppet/network/http/rack/rest'

# An rack application, for running the Puppet HTTP Server.
class Puppet::Network::HTTP::Rack
  # The real rack application (which needs to respond to call).
  # The work we need to do, roughly is:
  # * Read request (from env) and prepare a response
  # * Route the request to the correct handler
  # * Return the response (in rack-format) to our caller.
  def call(env)
    request = Rack::Request.new(env)
    response = Rack::Response.new
    Puppet.debug 'Handling request: %s %s' % [request.request_method, request.fullpath]

    begin
      Puppet::Network::HTTP::RackREST.new.process(request, response)
    rescue => detail
      # Send a Status 500 Error on unhandled exceptions.
      response.status = 500
      response['Content-Type'] = 'text/plain'
      response.write 'Internal Server Error: "%s"' % detail.message
      # log what happened
      Puppet.log_exception(detail, "Puppet Server (Rack): Internal Server Error: Unhandled Exception: \"%s\"" % detail.message)
    end
    response.finish
  end
end

Version data entries

271 entries across 271 versions & 3 rubygems

Version Path
puppet-retrospec-1.8.0 vendor/pup410/lib/puppet/network/http/rack.rb
puppet-retrospec-1.7.0 vendor/pup410/lib/puppet/network/http/rack.rb
puppet-4.10.12 lib/puppet/network/http/rack.rb
puppet-4.10.12-x86-mingw32 lib/puppet/network/http/rack.rb
puppet-4.10.12-x64-mingw32 lib/puppet/network/http/rack.rb
puppet-4.10.12-universal-darwin lib/puppet/network/http/rack.rb
puppet-4.10.11 lib/puppet/network/http/rack.rb
puppet-4.10.11-x86-mingw32 lib/puppet/network/http/rack.rb
puppet-4.10.11-x64-mingw32 lib/puppet/network/http/rack.rb
puppet-4.10.11-universal-darwin lib/puppet/network/http/rack.rb
puppet-4.10.10 lib/puppet/network/http/rack.rb
puppet-4.10.10-x86-mingw32 lib/puppet/network/http/rack.rb
puppet-4.10.10-x64-mingw32 lib/puppet/network/http/rack.rb
puppet-4.10.10-universal-darwin lib/puppet/network/http/rack.rb
puppet-retrospec-1.6.1 vendor/pup410/lib/puppet/network/http/rack.rb
puppet-retrospec-1.6.0 vendor/pup410/lib/puppet/network/http/rack.rb
puppet-4.10.9 lib/puppet/network/http/rack.rb
puppet-4.10.9-x86-mingw32 lib/puppet/network/http/rack.rb
puppet-4.10.9-x64-mingw32 lib/puppet/network/http/rack.rb
puppet-4.10.9-universal-darwin lib/puppet/network/http/rack.rb