NAME

PAGI::Middleware::FormBody - Form request body parsing middleware

SYNOPSIS

use PAGI::Middleware::Builder;

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

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

    my $form_data = $scope->{pagi.parsed_body};
    # $form_data is a hashref like { name => 'value', ... }
}

DESCRIPTION

PAGI::Middleware::FormBody parses URL-encoded form 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).

SCOPE EXTENSIONS

This middleware adds the following to $scope:

  • pagi.parsed_body

    The parsed form data as a hashref. Multiple values for the same key are returned as an arrayref.

  • pagi.raw_body

    The raw request body string.

MULTIPART FORMS

This middleware only handles application/x-www-form-urlencoded bodies. For multipart form data (file uploads), use PAGI::Middleware::MultipartForm.

SEE ALSO

PAGI::Middleware - Base class for middleware

PAGI::Middleware::JSONBody - JSON body parsing