NAME

Chronicle::URI - A URI subclass that simplifies handling of HTTP URIs

DESCRIPTION

It is advantageous to handle URIs as objects for easier Unicode handling, canonicalization etc.

We ony need HTTP URIs here so we can save some boilerplate by subclassing URI, but some extra methods for unescaping and prepending/appending also come in handy.

This class will convert any string arguments passed to it to Unicode NFC form

METHODS

new

The constructor takes only a single argument that will be assumed to be an http URI, or in our case usually a path fragment thereof.

unescaped

Return the URI or framgemt completely unescaped. That is, the result of URI::as_iri with additionally all the ASCII characters unescaped. This method is supposed to generate a filename from an URI.

path_append

Append its string argument to the path part of the URI.

path_prepend

Prepend its string argument to the path part of the URI.

i_use_hfs

This is a class method that must be called prior to creating any objects that you want to render in a way that will be compatible with serving them from an HFS+ file system. HFS+ converts non-ASCII characters in file names to Unicode NFD form fo URIs have to be composed differently or the corresponding files won't be found later.

LICENSE

This module is free software; you can redistribute it and/or modify it under the terms of either:

a) the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version, or

b) the Perl "Artistic License".

AUTHOR

Matthias Bethke <matthias@towiski.de>