NAME
OX::Application::Role::Request - application role to allow the use of request and response objects
VERSION
version 0.14
SYNOPSIS
package MyApp;
use Moose;
extends 'OX::Application';
with 'OX::Application::Role::Request';
sub build_app {
my $self = shift;
return sub {
my $env = shift;
my $r = $self->new_request($env);
return $self->handle_response(
MyApp::Controller->new->do_action($r), $r
);
};
}
DESCRIPTION
This role provides some helper methods for handling request and response objects in your application.
METHODS
request_class
This method can be overridden to provide your own custom request class. Defaults to OX::Request.
This request class is expected to provide a new_response
method, so overriding the response class to use can be done by overriding this method in your request class.
new_request($env)
Creates a new instance of the request class for the given PSGI environment.
handle_response($response, $request)
Takes a response provided by the application and turns it into a proper PSGI response arrayref. The default implementation of this method handles bare strings (turns them into a response with a code of 200 and a Content-Type
header of text/html
) and anything which can be provided to the new_response
method of the request object. $request
must be passed in addition to the actual response that was received in order to be able to call new_response
.
AUTHORS
Stevan Little <stevan.little@iinteractive.com>
Jesse Luehrs <doy@tozt.net>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Infinity Interactive.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.