HTTP::Engine::Role::Interface - The Interface Role Definition
package HTTP::Engine::Interface::CGI;
use Any::Moose;
with 'HTTP::Engine::Role::Interface';
HTTP::Engine::Role::Interface defines the role of an interface in HTTP::Engine.
Specifically, an Interface in HTTP::Engine needs to do at least
two things:
- Create a HTTP::Engine::Request object from the client request
- If you are on a CGI environment, you need to receive all the data from
%ENV and such. If you are running on a mod_perl
process, you need to muck with $r.
In any case, you need to construct a valid
HTTP::Engine::Request object so the application handler can do the real
work.
- Accept a HTTP::Engine::Response object, send it back to the client
- The application handler must return an HTTP::Engine::Response object.
In turn, the interface needs to do whatever necessary to
present this object to the client. In a CGI environment, you would write
to STDOUT. In mod_perl, you need to call the appropriate
$r->headers methods and/or
$r->print
Kazuhiro Osawa and HTTP::Engine Authors