← ClaudeAtlas

coldbox-interceptor-developmentlisted

Use this skill when creating ColdBox interceptors for cross-cutting concerns, listening to framework lifecycle events, implementing security checks, logging, CORS, rate limiting, request/response transformation, or firing and listening to custom interception points.
ColdBox/skills · ★ 0 · API & Backend · score 61
Install: claude install-skill ColdBox/skills
# Interceptor Development ## When to Use This Skill Use this skill when building interceptors to hook into the ColdBox request lifecycle for security, logging, caching, CORS, rate-limiting, or any cross-cutting concern. ## Language Mode Reference Examples use **BoxLang (`.bx`)** syntax by default. Adapt for your target language: | Concept | BoxLang (`.bx`) | CFML (`.cfc`) | |---------|-----------------|---------------| | Class declaration | `class [extends="..."] {` | `component [extends="..."] {` | | DI annotation | `@inject` above `property name="svc";` | `property name="svc" inject="svc";` | | View templates | `.bxm` suffix | `.cfm` / `.cfml` suffix | | Tag prefix | `<bx:if>`, `<bx:output>`, `<bx:set>` | `<cfif>`, `<cfoutput>`, `<cfset>` | > **CFML Compat Mode**: With BoxLang + CFML Compat module, `.bx` and `.cfc` files coexist freely. BoxLang-native classes use `class {}` (`.bx` files); CFML-compat classes use `component {}` (`.cfc` files). ## Core Concepts ColdBox interceptors: - Listen to **interception points** (framework lifecycle events) - Use `interceptData` for reading/modifying data at the point of execution - Are registered in `ColdBox.cfc` or module `ModuleConfig.cfc` - Can be synchronous (default) or asynchronous (`asyncAll`, `asyncPool`) - Can fire custom interception points with `announce()` ## Interception Points Reference | Category | Point | When Fired | |-----------------|--------------------