module Puma
This file can be loaded independently of puma.rb, so it cannot have any code that assumes puma.rb is loaded.
Constants
- HAS_FORK
@version 5.2.1
- HAS_SSL
at present, MiniSSL::Engine is only defined in extension code (puma_http11), not in minissl.rb
- HAS_UNIX_SOCKET
- HTTP_STATUS_CODES
Every standard HTTP code mapped to the appropriate message. Generated with: curl -s www.iana.org/assignments/http-status-codes/http-status-codes-1.csv | \
ruby -ne 'm = /^(\d{3}),(?!Unassigned|\(Unused\))([^,]+)/.match($_) and \ puts "#{m[1]} => \x27#{m[2].strip}\x27,"'- IS_JRUBY
- IS_MRI
@version 5.2.0
- IS_OSX
- IS_WINDOWS
- Plugins
- STATUS_WITH_NO_ENTITY_BODY
For some HTTP status codes the client only expects headers.
Attributes
The CLI exports a Puma::Configuration instance here to allow apps to pick it up. An app must load this object conditionally because it is not set if the app is launched via any mechanism other than the CLI class.
Public Class Methods
# File lib/puma.rb, line 41 def self.abstract_unix_socket? @abstract_unix ||= if HAS_UNIX_SOCKET begin ::UNIXServer.new("\0puma.temp.unix").close true rescue ArgumentError # darwin false end else false end end
@version 5.0.0
# File lib/puma/detect.rb, line 38 def self.forkable? HAS_FORK end
# File lib/puma/detect.rb, line 20 def self.jruby? IS_JRUBY end
@version 5.0.0
# File lib/puma/detect.rb, line 33 def self.mri? IS_MRI end
# File lib/puma/detect.rb, line 24 def self.osx? IS_OSX end
Thread name is new in Ruby 2.3
# File lib/puma.rb, line 72 def self.set_thread_name(name) return unless Thread.current.respond_to?(:name=) Thread.current.name = "puma #{name}" end
# File lib/puma.rb, line 37 def self.ssl? HAS_SSL end
@!attribute [rw] stats_object
# File lib/puma.rb, line 61 def self.stats Puma::JSONSerialization.generate @get_stats.stats end
@!attribute [r] ::stats_hash @version 5.0.0
# File lib/puma.rb, line 67 def self.stats_hash @get_stats.stats end
@!attribute [rw] stats_object=
# File lib/puma.rb, line 56 def self.stats_object=(val) @get_stats = val end
# File lib/puma/detect.rb, line 28 def self.windows? IS_WINDOWS end