class
Analyzer::Cfml::Taffy
- Analyzer::Cfml::Taffy
- Analyzer::Cfml::CfmlEngine
- Analyzer
- Reference
- Object
Overview
Taffy REST resources.
Taffy is the most declarative of the CFML frameworks: a resource CFC carries its path as a component-level attribute, and the HTTP verb is the name of the handler function. Path, method and parameters are therefore all statically known.
<cfcomponent extends="taffy.core.resource" taffy_uri="/artist/{id}">
<cffunction name="get">
<cfargument name="id" type="string" required="true">
component extends="taffy.core.resource" taffy:uri="/echo" {
function post(string name = "", string value = "") {}
Defined in:
analyzer/analyzers/cfml/taffy.crConstant Summary
-
PATH_TOKEN_RE =
/\{([^}]+)\}/ -
QUERY_VERBS =
Set {"GET", "HEAD", "OPTIONS", "DELETE"} -
Verbs whose arguments arrive in the query string rather than a body.
-
RESOURCE_BASE_RE =
/extends\s*=\s*["'][^"']*\bresource\b["']/i -
SCRIPT_FUNCTION_TAIL_LIMIT =
200 -
SCRIPT_FUNCTION_TAIL_RE =
/\A[^{;]*/ -
function name(...) taffy_verb="PATCH" {— the attribute sits between the closing paren and the body brace. The window is bounded because slicing the whole remaining file per declaration made the pass O(n^2) in file size. -
URI_ATTRIBUTES =
["taffy_uri", "taffy:uri"] -
Both spellings are officially supported —
taffy/core/api.cfcreadstaffy_uriand falls back totaffy:uri. -
VERB_ATTRIBUTES =
["taffy_verb", "taffy:verb"] -
VERB_FUNCTIONS =
Set {"get", "post", "put", "delete", "head", "options", "patch"} -
Taffy dispatches an incoming request to the function named after the HTTP verb.