public
Description: A very fast & simple Ruby web server
Homepage: http://code.macournoyer.com/thin/
Clone URL: git://github.com/macournoyer/thin.git
macournoyer (author)
Wed Feb 13 18:55:54 -0800 2008
commit  f5012ae9b02f2eed32a018a769f11e9439cc0134
tree    f83039b80d6093758dbc282f7216f2dc542419c3
parent  f5279b19f75070900fa828dd299c8b20ab029973
thin /
name age message
file .gitignore Sat Feb 09 22:30:55 -0800 2008 Instrumenting more code to hunt down potential ... [macournoyer]
file CHANGELOG Tue Feb 12 20:26:09 -0800 2008 Merge branch 'stable' [macournoyer]
file COMMITTERS Wed Jan 16 23:15:01 -0800 2008 sync with main repo, tweak rakefile(s) again fo... [kevwil]
file COPYING Wed Jan 09 19:29:16 -0800 2008 Add some thing to do [macournoyer]
file README Mon Feb 11 19:29:29 -0800 2008 update README [macournoyer]
file Rakefile Mon Jan 21 14:18:17 -0800 2008 ignore mac finder files, change constant to all... [kevwil]
directory benchmark/ Sun Feb 10 21:03:15 -0800 2008 Refactor benchmarking scripts [macournoyer]
directory bin/ Fri Feb 01 20:43:41 -0800 2008 Refactoring thin script in several classes: [macournoyer]
directory doc/ Sun Dec 16 15:28:13 -0800 2007 Update benchmarks and web site [macournoyer]
directory example/ Fri Feb 08 22:59:54 -0800 2008 Merge branch 'master' into keepalive [macournoyer]
directory ext/ Thu Jan 24 14:32:35 -0800 2008 Put parser state machine action null checks bac... [macournoyer]
directory lib/ Wed Feb 13 18:03:41 -0800 2008 Fix automerge from stable [macournoyer]
directory script/ Sat Feb 09 22:30:55 -0800 2008 Instrumenting more code to hunt down potential ... [macournoyer]
directory site/ Tue Feb 12 12:12:15 -0800 2008 Add Daniel Fischer blog to users page [macournoyer]
directory spec/ Wed Feb 13 18:55:54 -0800 2008 Add spec for swiftiply connector. [macournoyer]
directory tasks/ Thu Feb 07 08:06:01 -0800 2008 Add task to download win gem from kevin repo. [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.

=== Installation
For the latest stable version:

 sudo gem install thin

or using my mirror (might be more recent and unstable):

 sudo gem install thin --source http://code.macournoyer.com

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)