Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
Catalyst::ActionRole::ConsumesContent(3) User Contributed Perl Documentation Catalyst::ActionRole::ConsumesContent(3)

Catalyst::ActionRole::ConsumesContent - Match on HTTP Request Content-Type

    package MyApp::Web::Controller::MyController;

    use base 'Catalyst::Controller';

    sub start : POST Chained('/') CaptureArg(0) { ... }

      sub is_json       : Chained('start') Consumes('application/json') { ... }
      sub is_urlencoded : Chained('start') Consumes('application/x-www-form-urlencoded') { ... }
      sub is_multipart  : Chained('start') Consumes('multipart/form-data') { ... }

      ## Alternatively, for common types...

      sub is_json       : Chained('start') Consume(JSON) { ... }
      sub is_urlencoded : Chained('start') Consumes(UrlEncoded) { ... }
      sub is_multipart  : Chained('start') Consumes(Multipart) { ... }

      ## Or allow more than one type

      sub is_more_than_one
        : Chained('start')
        : Consumes('application/x-www-form-urlencoded')
        : Consumes('multipart/form-data')
        ## ...


This is an action role that lets your Catalyst::Action match on the content type of the incoming request.

Generally when there's a PUT or POST request, there's a request content body with a matching MIME content type. Commonly this will be one of the types used with classic HTML forms ('application/x-www-form-urlencoded' for example) but there's nothing stopping you specifying any valid content type.

For matching purposes, we match strings but the casing is insensitive.

This role requires the following methods in the consuming class.

Returns 1 if the action matches the existing request and zero if not.

This role defines the following methods

Around method modifier that return 1 if the request content type matches one of the allowed content types (see "http_methods") and zero otherwise.

An array of strings that are the allowed content types for matching this action.

Boolean. Does the current request match content type with what this actionrole can consume?

Add the accepted content type to the debug screen.

Catalyst Contributors, see

This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.
2020-07-26 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.