The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

URI::Template::Restrict - restricted URI Templates handler

SYNOPSIS

    use URI::Template::Restrict;

    my $template = URI::Template::Restrict->new(
        'http://example.com/{foo}'
    );

    my $uri = $template->process(foo => 'y');
    # $uri: "http://example.com/y"

    my %result = $template->extract($uri);
    # %result: (foo => 'y')

DESCRIPTION

This is a restricted URI Templates handler. URI Templates is described at http://bitworking.org/projects/URI-Templates/.

This module supports draft-gregorio-uritemplate-03 except -opt and -neg operators.

METHODS

new($template)

Creates a new instance with the template.

process(%vars)

Given a hash of key-value pairs. It will URI escape the values, substitute them in to the template, and return a URI object.

process_to_string(%vars)

Processes input like the process method, but doesn't inflate the result to a URI object.

extract($uri)

Extracts variables from an uri based on the current template. Returns a hash with the extracted values.

PROPERTIES

template

Returns the original template string.

variables

Returns a list of unique variable names found in the template.

expansions

Returns a list of URI::Template::Restrict::Expansion objects found in the template.

AUTHOR

NAKAGAWA Masaki <masaki@cpan.org>

LICENSE

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

SEE ALSO

URI::Template, http://bitworking.org/projects/URI-Templates/