Name
Filter
|
Context
Used for conditional code execution when want to respond
conditionally to circumstances.
|
Problem
How to provide a mechanism for conditionally executing code
at the start or end of each page request.
|
Forces
Motivation
Having the ability to conditionally run functions as part
of a web page is a very powerful tool for web programmers.
Goals+Constraints
- Configuring conditional code execution is easy.
- Adding a new logging function or authentication filter
is just a filter registration function call away.
- Be careful of filter side effects. Filters can stop the
rest of a page from completing execution or stop other filters
from running. You need to pay special attention to the order
that filters are registered and their likely return values.
|
Solution
Structure
- Client requests page
- Register filters
- Check conditions on all post_auth filters and run if met
- Run page script
- Check conditions on all trace filters and run if met
Participants
None
Collaborations
The developer may register and run a number of post_auth
and / or trace filters. The return values of these filter
functions influence the continuing execution of the filters.
|
Resulting Context
Having the ability to conditionally run functions as part
of a web page is a very powerful tool for web programmers.
It gives us the flexibility to add and configure logging functions,
authentication checks and so on. Filters control the registration
and execution of these functions.
|