refactored filters to reuse some code
added use_canonical_path options to use ActionCachePath to generate path