class
Analyzer::Cfml::Fw1
- Analyzer::Cfml::Fw1
- Analyzer::Cfml::CfmlEngine
- Analyzer
- Reference
- Object
Overview
FW/1 (Framework One) routing.
Routes live in Application.cfc as an array of single-key structs,
where the key is an optional $METHOD followed by the pattern:
variables.framework = {
routes = [
{ "$GET/todo/:id" = "/main/get/id/:id" },
{ "$DELETE/todo/:id" = "/main/delete/id/:id" },
{ "$POST/todo/" = "/main/save" },
{ 'hint' = 'Resource Routes', '$RESOURCES' = 'dogs' }
]
};
A key with no $ prefix answers every method. hint is a label the
framework skips, not a route.
Defined in:
analyzer/analyzers/cfml/fw1.crConstant Summary
-
ALL_METHODS =
["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"] -
A key with no
$prefix, or an explicit$*, answers every method. -
METHOD_PREFIX_RE =
/\A\$([A-Za-z*]+)/ -
$METHODprefix on the pattern.$*means every method. -
NON_ROUTE_KEYS =
Set {"hint"} -
hintlabels the entry rather than declaring a route. Only keys FW/1's own sources use as labels belong here — skipping a key the framework does treat as a pattern is a silent false negative. -
RESOURCE_TEMPLATES =
[{["GET"], "", false}, {["GET"], "/new", false}, {["POST"], "", false}, {["GET"], "", true}, {["PUT", "PATCH"], "", true}, {["DELETE"], "", true}] -
framework/one.cfcdefines these asresourceRouteTemplates. Note there is noeditroute — FW/1 differs from Rails here. -
RESOURCES_KEY =
"$RESOURCES" -
ROUTE_ENTRY_RE =
/["']([^"']+)["']\s*[:=]\s*["']([^"']*)["']/ -
"$GET/todo/:id" = "/main/get/id/:id"— the value is the internal action, which is not part of the URL. -
ROUTES_ARRAY_RE =
/\broutes\s*[:=]\s*\[/i