public
Fork of macournoyer/thin
Description: async stuff is now merged into upstream, no need for here anymore
Homepage: http://code.macournoyer.com/thin/
Clone URL: git://github.com/raggi/thin.git
raggi (author)
Sun Oct 25 08:24:55 -0700 2009
commit  417fa930ab2413a9c3a37013340c85a2d519dccb
tree    1a419be7c73f7a8e9b829a2b96d22e8a09c67d0e
parent  ecc90028c8cc6989d34679147a4d952e5af73f9f
thin /
name age message
file .gitignore Tue May 20 11:39:56 -0700 2008 update ignored files [kevwil]
file CHANGELOG Loading commit data...
file COPYING Wed Jan 09 19:29:16 -0800 2008 Add some thing to do [macournoyer]
file README Mon Jun 29 18:01:05 -0700 2009 Update install instruct in README [macournoyer]
file Rakefile Sat Sep 05 19:47:52 -0700 2009 Make cross compiling to win32 work under OS X, ... [macournoyer]
directory benchmark/ Sat Sep 05 12:03:29 -0700 2009 lib/thin should expect lib/ to already be in th... [josh]
directory bin/ Sat Sep 05 11:41:28 -0700 2009 For thin executable, require 'thin' that is in ... [josh]
directory example/ Sat Sep 05 12:03:29 -0700 2009 lib/thin should expect lib/ to already be in th... [josh]
directory ext/ Sat Jan 03 12:31:13 -0800 2009 thin.c#http_field : omit parsing #defined strin... [jeremyz]
directory lib/
directory script/ Sat Sep 05 12:03:29 -0700 2009 lib/thin should expect lib/ to already be in th... [josh]
directory site/ Sun Sep 06 10:13:35 -0700 2009 Add some more users to the site. [macournoyer]
directory spec/ Sat Sep 05 12:03:29 -0700 2009 lib/thin should expect lib/ to already be in th... [josh]
directory tasks/ Sat Sep 05 19:47:52 -0700 2009 Make cross compiling to win32 work under OS X, ... [macournoyer]
file thin.gemspec Sun Sep 06 05:22:22 -0700 2009 Refresh gemspec [macournoyer]
README
== Thin
Tiny, fast & funny HTTP server

Thin is a Ruby web server that glues together 3 of the best Ruby libraries in web history:
* the Mongrel parser: the root of Mongrel speed and security
* Event Machine: a network I/O library with extremely high scalability, performance and stability
* Rack: a minimal interface between webservers and Ruby frameworks

Which makes it, with all humility, the most secure, stable, fast and extensible Ruby web server
bundled in an easy to use gem for your own pleasure.

Site:  http://code.macournoyer.com/thin/
Group: http://groups.google.com/group/thin-ruby/topics
Bugs:  http://thin.lighthouseapp.com/projects/7212-thin
Code:  http://github.com/macournoyer/thin
IRC:   #thin on freenode

=== Installation
For the latest stable version:

 sudo gem install thin

Or from source:

 git clone git://github.com/macournoyer/thin.git
 cd thin
 rake install

=== Usage
A +thin+ script offers an easy way to start your Rails application:

 cd to/your/rails/app
 thin start

But Thin is also usable with a Rack config file.
You need to setup a config.ru file and pass it to the thin script:
  
 cat config.ru
 app = proc do |env|
  [
    200,
    {
      'Content-Type' => 'text/html',
      'Content-Length' => '2'
    },
    ['hi']
  ]
 end
 
 run app

 thin start -R config.ru
 
See example directory for more samples and run 'thin -h' for usage.

=== License
Ruby License, http://www.ruby-lang.org/en/LICENSE.txt.

=== Credits
The parser was stolen from Mongrel http://mongrel.rubyforge.org by Zed Shaw.
Mongrel Web Server (Mongrel) is copyrighted free software by Zed A. Shaw
<zedshaw at zedshaw dot com> You can redistribute it and/or modify it under
either the terms of the GPL.

Thin is copyright Marc-Andre Cournoyer <macournoyer@gmail.com>

Get help at http://groups.google.com/group/thin-ruby/
Report bugs at http://thin.lighthouseapp.com/projects/7212-thin
and major security issues directly to a team member (see COMMITTERS)