HTTP::Headers::ActionPack::MediaTypeList(3p)

NAME
HTTP::Headers::ActionPack::MediaTypeList - A Priority List customized for Media Types

VERSION
version 0.09

SYNOPSIS
  use HTTP::Headers::ActionPack::MediaTypeList;

  # normal constructor
  my $list = HTTP::Headers::ActionPack::MediaTypeList->new(
      HTTP::Headers::ActionPack::MediaType->new('audio/*', q => 0.2 ),
      HTTP::Headers::ActionPack::MediaType->new('audio/basic', q => 1.0 )
  );

  # you can also specify the 'q'
  # rating independent of the
  # media type definition
  my $list = HTTP::Headers::ActionPack::MediaTypeList->new(
      [ 0.2 => HTTP::Headers::ActionPack::MediaType->new('audio/*', q => 0.2 )     ],
      [ 1.0 => HTTP::Headers::ActionPack::MediaType->new('audio/basic' ) ]
  );

  # or from a string
  my $list = HTTP::Headers::ActionPack::MediaTypeList->new_from_string(
      'audio/*; q=0.2, audio/basic'
  );

DESCRIPTION
This is a subclass of the HTTP::Headers::ActionPack::PriorityList class with some specific media-type features. It is the default object used to parse most of the "Accept" header since they will often contain more then one media type.

METHODS

"iterable"
    This returns the same data type as the parent (two element ARRAY ref with quality and choice), but the choice element will be a HTTP::Headers::ActionPack::MediaType object. This is also sorted in a very specific manner in order to align with RFC-2616 Sec14.

      Media ranges can be overridden by more specific
      media ranges or specific media types. If more
      than one media range applies to a given type,
      the most specific reference has precedence.

"canonicalize_choice"
    If this is passed a string, it returns a new HTTP::Headers::ActionPack::MediaType object from that string. If it receives an object it simply returns that object as is.

AUTHOR
Stevan Little <stevan.little@iinteractive.com>

CONTRIBUTORS

•   Andrew Nelson <anelson@cpan.org>

•   Dave Rolsky <autarch@urth.org>

•   Florian Ragwitz <rafl@debian.org>

•   Jesse Luehrs <doy@tozt.net>

•   Karen Etheridge <ether@cpan.org>

COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Infinity Interactive, Inc..

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.