CGI-Application-Plugin-REST

 view release on metacpan or  search on metacpan

t/lib/Test/CAPRESTResource.pm  view on Meta::CPAN

package Test::CAPRESTResource;
use strict;
use warnings;
use base 'CGI::Application';
use CGI::Application::Plugin::REST qw( :all );

sub setup {
    my ($self) = @_;

    $self->run_modes([ 'default' ]);
    $self->rest_error_mode('error');
    $self->start_mode('default');

    $self->rest_resource('widget');

    $self->rest_resource(resource => 'fidget', prefix => 'foo',
        identifier => 'num',
        in_types => ['application/xml'], out_types => ['text/html']);

    if (defined $self->query->param('noargs')) {
        $self->rest_resource();
    }

    if (defined $self->query->param('bogusargs')) {
        $self->rest_resource('midget', 'gidget', 'apt-get');
    }

    if (defined $self->query->param('bogusresource')) {
        my $resource = {
            prefix     => 'foo',
            identifier => 'num',
        };
        $self->rest_resource($resource);
    }

    if (defined $self->query->param('bogusintypes')) {
        my $resource = {
            resource     => 'midget',
            in_types     => 'foo',
        };
        $self->rest_resource($resource);
    }

    if (defined $self->query->param('bogusouttypes')) {
        my $resource = {
            resource     => 'midget',
            out_types    => 'foo',
        };
        $self->rest_resource($resource);
    }

    return;
}

sub default {
    my ($self) = @_;

    my $q = $self->query;

    return $q->start_html('default') .
           $q->end_html;
}

sub error {
    my ($self) = @_;

    my $q = $self->query;

    return $q->start_html('error') .
           $q->end_html;
}

sub widget_create {
    my ($self) = @_;

    my $q = $self->query;

    return $q->start_html('widget create') .
           $q->end_html;
}


sub widget_destroy {
    my ($self) = @_;



( run in 0.586 second using v1.01-cache-2.11-cpan-5735350b133 )