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