Toby Inkster > CatalystX-TraitFor-Dispatcher-ExactMatch-0.003 > CatalystX::TraitFor::Dispatcher::ExactMatch

Download:
CatalystX-TraitFor-Dispatcher-ExactMatch-0.003.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.003   Source  

NAME ^

CatalystX::TraitFor::Dispatcher::ExactMatch - handle trailing slashes properly

SYNOPSIS ^

   package MyApp;
   
   use Catalyst::Runtime 5.80;
   use Catalyst qw/
      -Debug
      Static::Simple
      /;
   use CatalystX::RoleApplicator;
   
   __PACKAGE__->apply_dispatcher_class_roles(
      qw/CatalystX::TraitFor::Dispatcher::ExactMatch/
   );

DESCRIPTION ^

The Catalyst dispatcher doesn't differentiate between:

http://localhost:3000/foo
http://localhost:3000/foo/

Not even with Regex dispatching. Not even by writing a custom dispatch type.

This is apparently a "feature". As far as I'm concerned, it's a bug.

This trait for Catalyst::Dispatcher attempts to perform an exact match, including trailing slashes, ahead of Catalyst's default dispatching. It's not been tested in every possible configuration, but it works for me.

BUGS ^

Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=CatalystX-TraitFor-Dispatcher-ExactMatch.

SEE ALSO ^

CatalystX::RoleApplicator, Catalyst::Dispatcher.

Catalyst::Plugin::SanitizeUrl appears to do something similar for pre-Moose versions of Catalyst.

AUTHOR ^

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE ^

This software is copyright (c) 2011, 2014 by Toby Inkster.

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

DISCLAIMER OF WARRANTIES ^

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

syntax highlighting: