about summary refs log tree commit diff
path: root/lib/presque/Role/Error.pm
blob: 22800df9f3d6cac209384fc01138331af138bf60 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package presque::Role::Error;

use Moose::Role;

sub http_error {
    my ( $self, $msg, $code ) = @_;
    $self->response->code( $code || 400 );
    $self->finish( JSON::encode_json { error => $msg } );
}

sub http_error_queue {
    (shift)->http_error( 'queue name is missing', 404 );
}

sub http_error_content_type {
    (shift)->http_error('content-type must be set to application/json');
}

sub http_error_queue_is_closed {
    (shift)->http_error('queue is closed', 404);
}

1;