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- returnsapplicationsubtype- returnsvnd.foobar+jsontree- returnsvndsubtype-name- returnsfoobarsuffix- returnsjsontype-and-subtype- returnsapplication/vnd.foobar+jsonparameters- returns anArraycontaining 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