Module: Thin

Defined in:
lib/thin.rb,
lib/thin/stats.rb,
lib/thin/runner.rb,
lib/thin/server.rb,
lib/thin/command.rb,
lib/thin/headers.rb,
lib/thin/logging.rb,
lib/thin/request.rb,
lib/thin/version.rb,
lib/thin/response.rb,
lib/thin/statuses.rb,
lib/thin/connection.rb,
lib/thin/daemonizing.rb,
lib/thin/backends/base.rb,
lib/thin/backends/tcp_server.rb,
lib/thin/controllers/cluster.rb,
lib/thin/controllers/service.rb,
lib/thin/backends/unix_server.rb,
lib/thin/controllers/controller.rb,
lib/thin/backends/swiftiply_client.rb,
ext/thin_parser/thin.c

Defined Under Namespace

Modules: Backends, Controllers, Daemonizable, Logging, Stats, VERSION Classes: Command, Connection, Headers, HttpParser, InvalidHeader, InvalidOption, InvalidRequest, OptionRequired, PidFileExist, PidFileNotFound, PlatformNotSupported, Request, Response, RestartTimeout, Runner, RunnerError, Server, SwiftiplyConnection, UnixConnection

Constant Summary collapse

NAME =
'thin'.freeze
SERVER =
"#{NAME} #{VERSION::STRING} codename #{VERSION::CODENAME}".freeze
HTTP_STATUS_CODES =

Every standard HTTP code mapped to the appropriate message. Stolent from Mongrel.

{  
  100  => 'Continue', 
  101  => 'Switching Protocols', 
  200  => 'OK', 
  201  => 'Created', 
  202  => 'Accepted', 
  203  => 'Non-Authoritative Information', 
  204  => 'No Content', 
  205  => 'Reset Content', 
  206  => 'Partial Content', 
  300  => 'Multiple Choices', 
  301  => 'Moved Permanently', 
  302  => 'Moved Temporarily', 
  303  => 'See Other', 
  304  => 'Not Modified', 
  305  => 'Use Proxy', 
  400  => 'Bad Request', 
  401  => 'Unauthorized', 
  402  => 'Payment Required', 
  403  => 'Forbidden', 
  404  => 'Not Found', 
  405  => 'Method Not Allowed', 
  406  => 'Not Acceptable', 
  407  => 'Proxy Authentication Required', 
  408  => 'Request Time-out', 
  409  => 'Conflict', 
  410  => 'Gone', 
  411  => 'Length Required', 
  412  => 'Precondition Failed', 
  413  => 'Request Entity Too Large', 
  414  => 'Request-URI Too Large', 
  415  => 'Unsupported Media Type',
  422  => 'Unprocessable Entity',
  428  => 'Precondition Required',
  429  => 'Too Many Requests',
  431  => 'Request Header Fields Too Large',
  500  => 'Internal Server Error',
  501  => 'Not Implemented', 
  502  => 'Bad Gateway', 
  503  => 'Service Unavailable', 
  504  => 'Gateway Time-out', 
  505  => 'HTTP Version not supported',
  511  => 'Network Authentication Required'
}

Class Method Summary collapse

Class Method Details

.linux?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/thin/version.rb', line 25

def self.linux?
  RUBY_PLATFORM =~ /linux/
end

.ruby_18?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/thin/version.rb', line 29

def self.ruby_18?
  RUBY_VERSION =~ /^1\.8/
end

.win?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/thin/version.rb', line 21

def self.win?
  RUBY_PLATFORM =~ /mswin|mingw/
end