Sha256: a6a426bd493eb086e949bbc0f97bb69556b65de128c8e90dc1afa70ecb32ea19
Contents?: true
Size: 1.76 KB
Versions: 3
Compression:
Stored size: 1.76 KB
Contents
require 'puma/const' require 'stringio' module Puma # The default implement of an event sink object used by Server # for when certain kinds of events occur in the life of the server. # # The methods available are the events that the Server fires. # class Events include Const # Create an Events object that prints to +stdout+ and +stderr+. # def initialize(stdout, stderr) @stdout = stdout @stderr = stderr @stdout.sync = true @stderr.sync = true end attr_reader :stdout, :stderr # Write +str+ to +@stdout+ # def log(str) @stdout.puts str end # Write +str+ to +@stderr+ # def error(str) @stderr.puts "ERROR: #{str}" exit 1 end # An HTTP parse error has occured. # +server+ is the Server object, +env+ the request, and +error+ a # parsing exception. # def parse_error(server, env, error) @stderr.puts "#{Time.now}: HTTP parse error, malformed request (#{env[HTTP_X_FORWARDED_FOR] || env[REMOTE_ADDR]}): #{error.inspect}" @stderr.puts "#{Time.now}: ENV: #{env.inspect}\n---\n" end # An unknown error has occured. # +server+ is the Server object, +env+ the request, +error+ an exception # object, and +kind+ some additional info. # def unknown_error(server, error, kind="Unknown") if error.respond_to? :render error.render "#{Time.now}: #{kind} error", @stderr else @stderr.puts "#{Time.now}: #{kind} error: #{error.inspect}" @stderr.puts error.backtrace.join("\n") end end DEFAULT = new(STDOUT, STDERR) # Returns an Events object which writes it's status to 2 StringIO # objects. # def self.strings Events.new StringIO.new, StringIO.new end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
fragrant-0.0.5 | vendor/bundle/ruby/1.9.1/gems/puma-1.6.3/lib/puma/events.rb |
puma-1.6.3-java | lib/puma/events.rb |
puma-1.6.3 | lib/puma/events.rb |