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

NAME

CatalystX::Controller::SimpleAPI - Catalyst controller for a simple API

SYNOPSIS

    package ServiceApp::Controller::API;

    use Moose;
    use namespace::autoclean;
    BEGIN { extends 'Catalyst::Controller' }

    with 'CatalystX::Controller::SimpleAPI';

    __PACKAGE__->config(
        authkeys => {
            'AE281S228D4' => {
                ip_check => '^10\.0\.0\.[0-9]+$',
                valid_applications => 'myapp',
            },
        },
    );

    sub auto : Private {
        my ( $self, $c ) = @_;

        # will return false if the api did not pass authorization.
        return $self->prepare_api_request($c);
    }

    1;

DESCRIPTION

Catalyst Controller that implements (currently only) a JSON based API.

CONFIGURATION

authkeys are a mapping of authorization keys, and an IP and application identification regexes. For a request to the API to be valid, it must contain a valid authkey, and the origin IP and app id must match the regexes associated with the authkey provided.

If no authkeys configuration for the controller is provided, it will fall back to using the global authkeys element of the application config. $c->config->{authkeys}

METHODS

prepare_api_request

Prepares the API request to be processed.

return_api_data

Returns the api response to the browser in JSON format.

AUTHOR & LICENSE

See CatalystX::SimpleAPI.