boxlang-core-dev-interceptors

Implement and manage BoxLang interceptors for cross-cutting runtime concerns.

Updated Apr 10, 2026
One-click install
npx skills add https://github.com/ortus-boxlang/skills --skill boxlang-core-dev-interceptors
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: boxlang-core-dev-interceptors
Source: https://github.com/ortus-boxlang/skills/tree/main/boxlang-core-development/interceptors
Command: npx skills add https://github.com/ortus-boxlang/skills --skill boxlang-core-dev-interceptors

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

BoxLang interceptors enable developers to implement and manage cross-cutting concerns by applying Observer and Intercepting Filter patterns, without modifying core runtime code.

Core Features & Use Cases

  • Observer/Intercepting Filter patterns: listen for interception points and apply cross-cutting logic at runtime.
  • Interceptor pools and scopes: global runtime, per-application request listener, and per-cache provider pools for contextual interception.
  • Cross-language support: BoxLang interceptors alongside Java interceptors and closures/lambdas.
  • Registration mechanisms: ModuleConfig, BIF registrations, InterceptorService integration, and support for announcing custom events.

Quick Start

Register a BoxLang interceptor in your application to start observing and altering runtime events.

Frequently Asked Questions about boxlang-core-dev-interceptors

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle cross-cutting concerns in a BoxLang application without modifying core code?

Handle cross-cutting concerns in BoxLang by implementing interceptors using the Observer and Intercepting Filter patterns. This allows you to listen for interception points and apply logic at runtime without altering core runtime code.

What is the best way to register interceptors in a BoxLang application?

Register BoxLang interceptors using ModuleConfig, built-in functions (BIFs), or direct InterceptorService integration. These methods support configuring global runtime pools and per-application request listeners.

Can I use closures or Java interceptors alongside BoxLang interceptors?

Yes, BoxLang supports cross-language interception by allowing closures, lambdas, and Java interceptors alongside native BoxLang interceptors within the same application context.

How do I announce and instrument custom events using BoxLang interceptors?

Announce custom events in BoxLang by leveraging the InterceptorService to trigger interception points. You can instrument events by registering closures or lambdas to observe and alter these custom announcements.

What interception points are available for instrumenting runtime events in BoxLang?

BoxLang provides interception points such as onRequestStart and onRequestEnd for instrumenting runtime events. You can attach cross-cutting logic to these points to observe and modify the request lifecycle.

Does BoxLang support scoped interceptor pools for different application contexts?

Yes, BoxLang supports interceptor pools and scopes, including global runtime, per-application request listener, and per-cache provider pools, enabling contextual interception for isolated application environments.