The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.