]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole.pm
fix to request options for mp1.x
[maypole.git] / lib / Maypole.pm
index 09493ece263a04f6dcb101f49450d3760835d9b6..4954ec74cb09747c180e21972e6b65a8d27fc271 100644 (file)
@@ -12,7 +12,7 @@ use URI::QueryParam;
 use NEXT;
 use File::MMagic::XS qw(:compat);
 
-our $VERSION = '2.12_pre1';
+our $VERSION = '2.121';
 our $mmagic = File::MMagic::XS->new();
 
 # proposed privacy conventions:
@@ -984,8 +984,7 @@ properties. Calls C<preprocess_path> before parsing path and setting properties.
 
 =cut
 
-sub parse_path 
-{
+sub parse_path {
     my ($self) = @_;
 
     # Previous versions unconditionally set table, action and args to whatever 
@@ -1010,19 +1009,32 @@ sub parse_path
 =item preprocess_path
 
 Sometimes when you don't want to rewrite or over-ride parse_path but
-want to rewrite urls or extract data from them before it is parsed.
+want to rewrite urls or extract data from them before it is parsed,
+the preprocess_path/location methods allow you to munge paths and urls
+before maypole maps them to actions, classes, etc.
 
 This method is called after parse_location has populated the request
 information and before parse_path has populated the model and action
 information, and is passed the request object.
 
 You can set action, args or table in this method and parse_path will
-then leave those values in place or populate them if not present
+then leave those values in place or populate them based on the current
+value of the path attribute if they are not present.
 
 =cut
 
 sub preprocess_path { };
 
+=item preprocess_location
+
+This method is called at the start of parse_location, after the headers in, and allows you
+to rewrite the url used by maypole, or dynamically set configuration
+like the base_uri based on the hostname or path.
+
+=cut
+
+sub preprocess_location { };
+
 =item make_path( %args or \%args or @args )
 
 This is the counterpart to C<parse_path>. It generates a path to use
@@ -1046,6 +1058,7 @@ string.
 
 =cut
 
+
 sub make_path
 {
     my $r = shift;