HTTP::Engine
HTTP::Engine->new(
config => 'config.yaml',
handle_request => sub {
my $c = shift;
$c->res->body( 'ok' );
# and you can use $c->req
}
);
Application server to Web Application Framework gateway.
inspired from WSGI(Python) and Rack(ruby).
With this module, you can write your own web application framework very easily, and with less code!
DO NOT REINVENT WEB APPLICATION SERVER TO WEB APPLICATION FRAMEWORK GATEWAY!
IRC
#http-engine@irc.perl.org
SVN REPOS
svn co http://svn.coderepos.org/share/lang/perl/HTTP-Engine/trunk HTTP-Engine
MAILING LIST
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/http-engine
User Applications
- Jifty (http://svn.jifty.org/svn/jifty.org/jifty/branches/http-engine)
- Moxy
- Nanto
FAQ
- Does HTTP::Engine contain a dispatcher?
- No. Use HTTPx::Dispatcher, or your own.
- Is this ready for production?
- No. but will be soon. We need more committers! Please develop with us.
SUPPORTED ENGINES
- FastCGI (lighty, apache2, etc.)
- mod_perl
- CGI (of course, very slow :-)
- HTTP::Server::Simple
TODO
- FakeApache?
- read/write API を使わずに STDIN/STDOUT にするなら、Role::Interface に code ref 渡すと print STDOUT $buf; したときに $buf を code ref に渡す method 追加する
http://d.hatena.ne.jp/yappo/20080513/1210615145
- Danga::Socket
- ModPerl?13 ModPerl?2
- Middleware Example (Request hook[session, mobileattribute, cookie], Response Filter [utf8 flag, encoding, fillinform? and more...]), Encodings, gzip
- some protocols (jabber stomp smtp(kazuho))
- more testings...
- for Catalyst, Jifty and Sledge
- using apache Sendfile function on Interface::ModPerl?
Interface Memo
| Interface | Socket Handle | io |
| Standalone | yes | Socket |
| ServerSimple? | ||
| CGI | any | STDIN/STDOUT |
| FCGI | any | STDIN/STDOUT |
| ModPerl? | none | $r |
| POE | none | POE::SocketFactory? |
| Danga::Socket | none | evt ... |
AUTHOR
- yappo
- lestrrat (mod_perl support)
- tokuhirom moose (copy and paste Cat::Engine::FastCGI :), StackTrace?, H::S::S support)
- nyarla (CGI support)
- marcus
and Catalyst::Engine Authors
httpebot config
global:
plugin_path:
- plugins
timezone: Asia/Tokyo
log:
level: error
plugins:
- module: Subscription::Config
config:
feed:
- http://coderepos.org/feeds/share.xml
- module: Aggregator::Simple
- module: Filter::Rule
rule:
- module: Deduped
path: ~/plagger/httpe.db
- module: Notify::IRC
rule:
- expression: '$args->{entry}->title =~ m{lang/perl/HTTP-Engine}'
config:
daemon_port: 9992
nickname: httpebot
server_host: irc.perl.org
server_port: 6667
server_channels:
- #http-engine
charset: utf-8
announce: notify
