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::PriorityList - A Priority List

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 simple priority list implementation, this is used to handle the Accept-* headers as they
       typically will contain values along with a "q" value to indicate quality.

Methods

       "new"
       "new_from_string ( $header_string )"
           This accepts a HTTP header string which get parsed and loaded accordingly.

       "index"
       "items"
       "add ( $quality, $choice )"
           Add in a new $choice with a given $quality.

       "get ( $quality )"
           Given a certain $quality, it returns the various choices available.

       "priority_of ( $choice )"
           Given a certain $choice this returns the associated quality of it.

       "iterable"
           This  returns  a  list  of  two item ARRAY refs with the quality as the first item and the associated
           choice as the second item. These are sorted accordingly.

           When two items have the same priority, they are returned in the order that they  were  found  in  the
           header.

       "canonicalize_choice"
           By default, this does nothing. It exists so that subclasses can override it.

Name

       HTTP::Headers::ActionPack::PriorityList - A Priority List

Synopsis

         use HTTP::Headers::ActionPack::PriorityList;

         # simple constructor
         my $plist = HTTP::Headers::ActionPack::PriorityList->new(
             [ 1.0 => 'foo' ],
             [ 0.5 => 'bar' ],
             [ 0.2 => 'baz' ],
         );

         # from headers
         my $plist = HTTP::Headers::ActionPack::PriorityList->new_from_string(
             'foo; q=1.0, bar; q=0.5, baz; q=0.2'
         );

Version

       version 0.09

See Also