This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
Christian Höltje (author)
Wed Nov 04 12:25:08 -0800 2009
| name | age | message | |
|---|---|---|---|
| |
.config | Tue Oct 20 07:17:29 -0700 2009 | |
| |
.document | Wed Oct 21 08:07:03 -0700 2009 | |
| |
.gitignore | Wed Oct 21 09:16:13 -0700 2009 | |
| |
ChangeLog | Wed Oct 28 03:04:04 -0700 2009 | |
| |
InstalledFiles | Tue Oct 20 07:17:29 -0700 2009 | |
| |
LICENSE | Wed Oct 21 08:07:03 -0700 2009 | |
| |
README | Wed Oct 28 03:04:04 -0700 2009 | |
| |
README.rdoc | Wed Oct 28 03:04:04 -0700 2009 | |
| |
README.signals | Tue Oct 20 07:17:29 -0700 2009 | |
| |
Rakefile | Wed Oct 28 03:04:20 -0700 2009 | |
| |
VERSION | Wed Oct 28 02:57:47 -0700 2009 | |
| |
ext/ | Wed Oct 28 02:57:47 -0700 2009 | |
| |
install.rb | Tue Oct 20 07:17:29 -0700 2009 | |
| |
lib/ | Wed Nov 04 12:28:06 -0800 2009 | |
| |
test/ | Wed Oct 21 08:07:03 -0700 2009 |
README.rdoc
fcgi - FastCGI library for Ruby
Version 0.8.9
Depends
C version
* ((<libfcgi|URL:http://www.fastcgi.com/#TheDevKit>))(FastCGI Developer's Kit)
Pure Ruby Version
* StringIO
Install
$ ruby install.rb config
(Pure Ruby Version: ruby install.rb config --without-ext)
(Some systems need: ruby install.rb config -- --with-fcgi-include=/usr/local/include --with-fcgi-lib=/usr/local/lib)
$ ruby install.rb setup
# ruby install.rb install
Usage
Class Method
— FCGI.accept
Returns FCGI instance
— FCGI.each
— FCGI.each_request
— FCGI.is_cgi?
— FCGI.each_cgi
Automatically detects whether this program is running under the FastCGI
environment, and generates a 'CGI' type object for each request. Also
installs signal handlers for graceful handling of SIGPIPE (which may
occur if a client gives up on a request before it is complete) and
SIGUSR1 (generated by Apache for a 'graceful' exit)
If you are using the HTML output methods you can also pass the HTML type
e.g. FCGI.each_cgi('html3') do ... end
However, you should beware that the CGI library is quite slow when
used in this way, as it dynamically adds a large number of methods
to itself each time a new instance is created.
Instance Method
— FCGI#finish
Finish
— FCGI#in
Returns Stream or StringIO
— FCGI#out
Returns Stream or StringIO
— FCGI#err
Returns Stream or StringIO
— FCGI#env
Returns Environment(Hash)
Sample
Using the FastCGI native interface:
#!/usr/bin/ruby
require "fcgi"
FCGI.each {|request|
out = request.out
out.print "Content-Type: text/plain\r\n"
out.print "\r\n"
out.print Time.now.to_s
request.finish
}
Using the CGI-compatible interface, which works both as a standalone CGI and under FastCGI with no modifications:
#!/usr/bin/ruby
require "fcgi"
FCGI.each_cgi {|cgi|
name = cgi['name'][0]
puts cgi.header
puts "You are #{name} " if name
puts "Connecting from #{cgi.remote_addr}"
}
Note: you can’t reference CGI environment variables using ENV when under FastCGI. It is recommended that you use the CGI-generated methods, e.g. cgi.remote_addr as above.
If you need to access environment variables directly, perhaps extra ones set in your Apache config, then use cgi.env_table[‘REMOTE_ADDR’] instead. This isn’t quite as portable because env_table is a private method in the standard CGI library.
License
- ((<URL:www.ruby-lang.org/ja/LICENSE.txt>)) (Japanese)
- ((<URL:www.ruby-lang.org/en/LICENSE.txt>)) (English)
Copyright
fcgi.c 0.1 Copyright (C) 1998-1999 Network Applied Communication Laboratory, Inc.
0.8 Copyright (C) 2002 MoonWolf <moonwolf@moonwolf.com>
fastcgi.rb 0.7 Copyright (C) 2001 Eli Green
fcgi.rb 0.8 Copyright (C) 2002 MoonWolf <moonwolf@moonwolf.com>
fcgi.rb 0.8.5 Copyright (C) 2004 Minero Aoki







