Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Chain of Responsibility

A request is passed along a list of handlers until one of them takes it: login handlers, URL matchers, router routes. 19 instances in Exponential.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/standards/patterns/chain.md

On this page

Chain of Responsibility

Note

This page is generated from the source code by php bin/php/exppatterncatalogue.php --write. Do not edit it by hand: change the code or the generator, then run the command again. How the patterns are recognized: the pattern catalogue.

A request is passed along a list of handlers until one of them takes it: login handlers, URL matchers, router routes.

GroupBehavior
Instances19
Recognized byClass name contains LoginHandler, Chain, Pipeline, Middleware, Router or Matcher.
Extension pointsite.ini [UserSettings] LoginHandler[] (tried in order), siteaccess MatchOrder.

Classes by area

extension/expai (12)

All patterns of extension/expai

ClassKindFileDescriptionExtension point
expAiBatchOpenRouterclass extends expAiBatchApiextension/expai/classes/lanes/expaibatchopenrouter.php:25The OpenRouter Batch API (https://openrouter.ai/docs/batch-quickstart and https://openrouter.ai/docs/api/api-reference/batch/get-a-batch, read 2026-1…–
expAiChainclassextension/expai/classes/chain/expaichain.php:23The definition of an AI chain (doc/chains.md): an ordered list of steps, each one structured call to a model, a human checkpoint or a hand-off, read…–
expAiChainApplierclassextension/expai/classes/chain/expaichainapplier.php:14The applier "chain" of queued requests ([QueueSettings] Appliers[chain]): hands the stored answer of a chain step to expAiChainEngine::onAnswer(), wh…extension/expai/settings/expai.ini [QueueSettings] Appliers[chain]
expAiChainCriteriaclassextension/expai/classes/chain/expaichaincriteria.php:23The pass criteria of a chain step ([ChainStep_.] PassCriteria[]): each entry is one comparison " ", all of them must hold.–
expAiChainEngineclassextension/expai/classes/chain/expaichainengine.php:24Runs AI chains (doc/chains.md) through the job queue.–
expAiChainFunctionCollectionclassextension/expai/classes/chain/expaichainfunctioncollection.php:18Template fetch functions of AI chains:–
expAiChainPolicyclassextension/expai/classes/chain/expaichainpolicy.php:20Access to AI chains: the policy expai/chain (limitation Chain) starts runs and acts on them at the checkpoint.–
expAiChainPromptclassextension/expai/classes/chain/expaichainprompt.php:21The prompts of chain steps.–
expAiChainRunclass extends eZPersistentObjectextension/expai/classes/chain/expaichainrun.php:20One run of an AI chain (table expai_chain_run).–
expAiChainSchemaclassextension/expai/classes/chain/expaichainschema.php:19The tables of AI chains, added to expAiSchema::definition() (bin/php/expaischema.php --install creates and upgrades them on every engine like the oth…–
expAiChainStepclass extends eZPersistentObjectextension/expai/classes/chain/expaichainstep.php:19One step of a chain run (table expai_chain_step): each call to a model is one row with its queue job, model, lane, tokens, cost and the usage row; a…–
expAiChainTranslateSyncclassextension/expai/classes/chain/expaichaintranslatesync.php:20The shipped translation hand-off of chains ([ChainSettings] TranslateHandler=expAiChainTranslateSync): the translate step hands the run's object to t…extension/expai/settings/expai.ini [ChainSettings] TranslateHandler

extension/ezjscore (1)

All patterns of extension/ezjscore

ClassKindFileDescriptionExtension point
ezjscServerRouterclassextension/ezjscore/classes/ezjscserverrouter.php:39––

extension/hcaptcha (1)

All patterns of extension/hcaptcha

ClassKindFileDescriptionExtension point
hcaptchaInfoclassextension/hcaptcha/ezinfo.php:22hCaptcha extension for Exponential Written by 7x Based on works by: Bruce Morrison–

extension/recaptcha (1)

All patterns of extension/recaptcha

ClassKindFileDescriptionExtension point
recaptchaInfoclassextension/recaptcha/ezinfo.php:22reCAPTCHA extension for Exponential Written by Bruce Morrison–

kernel/classes/datatypes (1)

All patterns of kernel/classes/datatypes

ClassKindFileDescriptionExtension point
eZUserLoginHandlerclasskernel/classes/datatypes/ezuser/ezuserloginhandler.php:19––

kernel/classes/ini (1)

All patterns of kernel/classes/ini

ClassKindFileDescriptionExtension point
expSettingsChainclasskernel/classes/ini/expsettingschain.php:32The override chain of one INI file, built once from the files eZINI reads for it, in eZINI's own order.–

kernel/private (1)

All patterns of kernel/private

ClassKindFileDescriptionExtension point
ezpRestRouterclass extends ezcMvcRouterkernel/private/rest/classes/router.php:11––

kernel/private/classes/commands (1)

All patterns of kernel/private/classes/commands

ClassKindFileDescriptionExtension point
Exponential\Command\Kernel\VelocityRouterclasskernel/private/classes/commands/velocity-router.php:46The code of bin/php/velocity-router.php, moved into a class (#207).–

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x