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

URI::Template - Object for handling URI templates (RFC 6570)

Authors

       •   Brian Cassidy <bricas@cpan.org>

       •   Ricardo SIGNES <rjbs@cpan.org>

Contributers

       •   Theo van Hoesel <Th.J.v.Hoesel@THEMA-MEDIA.nl>

Description

       This module provides a wrapper around URI templates as described in RFC 6570:
       <http://tools.ietf.org/html/rfc6570>.

Exported Functions

template_process($template=>\%vars)
       This is the same as "URI::Template->new($template)->process(\%vars)" But shorter, and usefull for quick
       and easy genrating a nice URI form parameters.

       Returns an URI object

   template_process_as_string($template=>\%vars)
       Same as above, but obviously, returns a string.

Installation

           perl Makefile.PL
           make
           make test
           make install

Methods

new($template)
       Creates a new URI::Template instance with the template passed in as the first parameter (optional).

   template($template)
       This method returns the original template string. If provided, it will also set and parse a new template
       string.

   variables
       Returns an array of unique variable names found in the template (in the order of appearance).

   expansions
       This method returns an list of expansions found in the template.  Currently, these are just coderefs.  In
       the future, they will be more interesting.

   process(\%vars)
       Given a list of key-value pairs or an array ref of values (for positional substitution), it will URI
       escape the values and substitute them in to the template. Returns a URI object.

   process_to_string(\%vars)
       Processes input like the "process" method, but doesn't inflate the result to a URI object.

Name

       URI::Template - Object for handling URI templates (RFC 6570)

Synopsis

           use URI::Template;

           my $template = URI::Template->new( 'http://example.com/{x}' );
           my $uri      = $template->process( x => 'y' );

           # or

           my $template = URI::Template->new();
           $template->template( 'http://example.com/{x}' );
           my $uri      = $template->process( x => 'y' );

           # uri is a URI object with value 'http://example.com/y'

       or

           use URI::Template ':template_process'

           my $uri = template_process ( 'http://example.com/{x}', x => 'y' );

See Also