NAME

PAGI::Middleware::JSONBody - JSON request body parsing middleware

SYNOPSIS

use PAGI::Middleware::Builder;

my $app = builder {
    enable 'JSONBody';
    $my_app;
};

# In your app:
async sub app {
    my ($scope, $receive, $send) = @_;

    my $json_data = $scope->{pagi.parsed_body};
    # $json_data is a hashref/arrayref from JSON
}

DESCRIPTION

PAGI::Middleware::JSONBody parses JSON request bodies and makes the parsed data available in $scope-{'pagi.parsed_body'}>.

CONFIGURATION

  • max_size (default: 1MB)

    Maximum body size to parse (in bytes).

  • content_types (default: application/json)

    Content-Type patterns to parse.

SCOPE EXTENSIONS

This middleware adds the following to $scope:

  • pagi.parsed_body

    The parsed JSON data (hashref or arrayref).

  • pagi.raw_body

    The raw request body string.

SEE ALSO

PAGI::Middleware - Base class for middleware

PAGI::Middleware::FormBody - Form body parsing