Dancer::HTTP(3)

NAME
Dancer::HTTP - helper for rendering HTTP status codes for Dancer

DESCRIPTION
Helper for rendering HTTP status codes for Dancer

METHODS

  status( $status )
Returns the numerical status of $status.

    # all three are equivalent, and will return '405'

    $x = Dancer::HTTP->status( 405 );
    $x = Dancer::HTTP->status( 'Method Not Allowed' );
    $x = Dancer::HTTP->status( 'method_not_allowed' );

  codes
Returns a hashref of all HTTP status known to "Dancer". The keys are the numerical statuses and the values their string equivalents.

    print Dancer::HTTP->codes->{404}; # prints 'File Not Found'

HTTP CODES
The following codes/aliases are understood by any status() call made from a Dancer script. The aliases can be used as-is (e.g., Moved Permanently), or as lower-case string with all non-alphanumerical characters changed to underscores (e.g., moved_permanently).

    get '/user/:user' => sub {
        my $user = find_user( param('user') );

        unless ( $user ) {
            status 404;

            # or could be
            status 'not_found';

            # or even
            status 'Not Found';
        }

        ...
    };

  Processed Codes

200 - OK
201 - Created
202 - Accepted
204 - No Content
205 - Reset Content
206 - Partial Content

  Redirections

301 - Moved Permanently
302 - Found
304 - Not Modified
306 - Switch Proxy

  Problem with request

400 - Bad Request
401 - Unauthorized
402 - Payment Required
403 - Forbidden
404 - Not Found
405 - Method Not Allowed
406 - Not Acceptable
407 - Proxy Authentication Required
408 - Request Timeout
409 - Conflict
410 - Gone
411 - Length Required
412 - Precondition Failed
413 - Request Entity Too Large
414 - Request-URI Too Long
415 - Unsupported Media Type
416 - Requested Range Not Satisfiable
417 - Expectation Failed

  Problem with server

500 - Internal Server Error
    Also aliases as 'error'.

501 - Not Implemented
502 - Bad Gateway
503 - Service Unavailable
504 - Gateway Timeout
505 - HTTP Version Not Supported

AUTHOR
This module has been written by Alexis Sukrieh <sukria@cpan.org>

SOURCE CODE
The source code for this module is hosted on GitHub <https://github.com/PerlDancer/Dancer>

LICENSE
This module is free software and is published under the same terms as Perl itself.