Cro::MediaType
The Cro::MediaType class provides a range of functionality relating to media types, including parsing them into their parts or serializing them from their parts.
Parsing a media type§
To parse a media type, pass it to the parse
method:
my $media-type = Cro::MediaType.parse('content/html; charset=UTF-8');
This results a Cro::MediaType instance.
Extracting parts of the media type§
Consider an example media type application/vnd.foobar+json; charset=UTF-8
. The following methods are available for extracting parts of the media type:
type
- returnsapplication
subtype
- returnsvnd.foobar+json
tree
- returnsvnd
subtype-name
- returnsfoobar
suffix
- returnsjson
type-and-subtype
- returnsapplication/vnd.foobar+json
parameters
- returns anArray
containing aPair
; in the example given,charset => 'UTF-8'
Constructing a media type from parts§
The new
method can be called to construct a media type from its parts. The type
and subtype-name
named parameters are required; tree
, suffix
, and parameters
may be optionally provided.
Serializing a media type§
Stringify a Cro::MediaType object to turn it into a string representation of the media type.
my $media-type = Cro::MediaType.new:
type => 'application',
tree => 'vnd',
subtype-name => 'foobar',
suffix => 'json',
parameters => [charset => 'UTF-8'];
say ~$media-type; # application/vnd.foobar+json; charset=UTF-8