module Puma
encoding: utf-8
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 42 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 39 def self.forkable? HAS_FORK end
# File lib/puma/detect.rb, line 21 def self.jruby? IS_JRUBY end
@version 5.0.0
# File lib/puma/detect.rb, line 34 def self.mri? IS_MRI end
# File lib/puma/detect.rb, line 25 def self.osx? IS_OSX end
Thread name is new in Ruby 2.3
# File lib/puma.rb, line 73 def self.set_thread_name(name) return unless Thread.current.respond_to?(:name=) Thread.current.name = "puma #{name}" end
# File lib/puma.rb, line 38 def self.ssl? HAS_SSL end
@!attribute [rw] stats_object
# File lib/puma.rb, line 62 def self.stats Puma::JSONSerialization.generate @get_stats.stats end
@!attribute [r] stats_hash
@version 5.0.0
# File lib/puma.rb, line 68 def self.stats_hash @get_stats.stats end
@!attribute [rw] stats_object=
# File lib/puma.rb, line 57 def self.stats_object=(val) @get_stats = val end
# File lib/puma/detect.rb, line 29 def self.windows? IS_WINDOWS end