NAME

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

VERSION

version 0.07

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.