logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

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>

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.

Name

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

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'
         );

Version

       version 0.09

See Also