Take me over?
NAME
Apache::AxKit::Provider - base Provider class
SYNOPSIS
Override the base Provider class and enable it using:
AxProvider MyClass
# alternatively use:
# PerlSetVar AxProvider MyClass
DESCRIPTION
The Provider class is used to read in the data source for the given URL. The default Provider is Provider::File, which reads from the filesystem, although obviously you can read from just about anywhere.
Should you wish to override the default Provider, these are the methods you need to implement:
process()
Determine whether or not to process this URL. For example, you don't want to process a directory request, or if the resource doesn't exist. Return 1 to tell AxKit to process this URL, or die with a Declined exception (with a reason) if you do not wish to process this URL.
mtime()
Return the last modification time in days before the current time.
get_styles()
Extract the stylesheets from the XML resource. Should return an array ref of styles. The style entries are hashes refs with required keys 'href' and 'type'.
get_fh()
This method should return an open filehandle, or die if that's not possible.
get_strref()
This method returns a reference to a scalar containing the contents of the stylesheet, or die if that's not possible. At least one of get_fh or get_strref must work.
key()
This method should return a "key" value that is unique to this URL.
get_ext_ent_handler()
This should return a sub reference that can be used instead of XML::Parser's default external entity handler. See the XML::Parser documentation for what this sub should do (or look at the code in the File provider).
exists()
Return 1 if the resource exists (and is readable).