Sawyer X > Dancer2-0.13 > Dancer2::Core::Dispatcher

Download:
Dancer2-0.13.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.13   Source   Latest Release: Dancer2-0.152000

NAME ^

Dancer2::Core::Dispatcher - Class for dispatching request to the appropriate route handler

VERSION ^

version 0.13

SYNOPSIS ^

    use Dancer2::Core::Dispatcher;

    # Create an instance of dispatcher
    my $dispatcher = Dancer2::Core::Dispatcher->new( apps => [$app] );

    # Dispatch a request
    my $resp = $dispatcher->dispatch($env)->to_psgi;

    # Capture internal error of a response (if any) after a dispatch
    $dispatcher->response_internal_error($context, $error);

    # Capture response not found for an application the after dispatch
    $dispatcher->response_not_found($context);

ATTRIBUTES ^

apps

The apps is an array reference to Dancer2::Core::App.

default_content_type

The default_content_type is a string which represents the context of the request. This attribute is read-only.

METHODS ^

dispatch

The dispatch method accepts the list of applications, hash reference for the env attribute of Dancer2::Core::Request and optionally the request object and a context object as input arguments.

dispatch returns a response object of Dancer2::Core::Response.

Any before hook and matched route code is wrapped using Return::MultiLevel to allow DSL keywords such as forward and redirect to short-circuit remaining code without having to throw an exception. Return::MultiLevel will use Scope::Upper (an XS module) if it is available.

response_internal_error

The response_internal_error takes as input the list of applications and a variable error and returns an object of Dancer2::Core::Error.

response_not_found

The response_not_found consumes as input the list of applications and an object of type Dancer2::Core::Context and returns an object Dancer2::Core::Error.

AUTHOR ^

Dancer Core Developers

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2014 by Alexis Sukrieh.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: