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_WINDOWS
- Plugins
- STATUS_WITH_NO_ENTITY_BODY
For some HTTP status codes the client only expects headers.
Attributes
The CLI
exports its Puma::Configuration
object here to allow apps to pick it up. An app needs to use it conditionally though since it is not set if the app is launched via another mechanism 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 33 def self.forkable? HAS_FORK end
# File lib/puma/detect.rb, line 19 def self.jruby? IS_JRUBY end
@version 5.0.0
# File lib/puma/detect.rb, line 28 def self.mri? IS_MRI 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 23 def self.windows? IS_WINDOWS end