Catalyst::TraitFor::Request::REST(3pm) | User Contributed Perl Documentation | Catalyst::TraitFor::Request::REST(3pm) |
NAME¶
Catalyst::TraitFor::Request::REST - A role to apply to Catalyst::Request giving it REST methods and attributes.
SYNOPSIS¶
if ( $c->request->accepts('application/json') ) { ... } my $types = $c->request->accepted_content_types();
DESCRIPTION¶
This is a Moose::Role applied to Catalyst::Request that adds a few methods to the request object to facilitate writing REST-y code. Currently, these methods are all related to the content types accepted by the client and the content type sent in the request.
METHODS¶
- data
- If the request went through the Deserializer action, this method will return the deserialized data structure.
- accepted_content_types
- Returns an array reference of content types accepted by the client.
The list of types is created by looking at the following sources:
- Content-type header
If this exists, this will always be the first type in the list.
- content-type parameter
If the request is a GET request and there is a "content-type" parameter in the query string, this will come before any types in the Accept header.
- Accept header
This will be parsed and the types found will be ordered by the relative quality specified for each type.
If a type appears in more than one of these places, it is ordered based on where it is first found.
- preferred_content_type
- This returns the first content type found. It is shorthand for:
$request->accepted_content_types->[0]
- accepts($type)
- Given a content type, this returns true if the type is accepted.
Note that this does not do any wildcard expansion of types.
AUTHORS¶
See Catalyst::Action::REST for authors.
LICENSE¶
You may distribute this code under the same terms as Perl itself.
2022-06-09 | perl v5.34.0 |