Skip to content

Let a call carry a prepared Zinc handler - #14

Merged
noha merged 1 commit into
mainfrom
a-call-can-carry-a-zinc-handler
Oct 5, 2026
Merged

noha merged 1 commit into
mainfrom
a-call-can-carry-a-zinc-handler

Conversation

@noha

@noha noha commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

HOPZincHandlerAdaptor mounts a foreign Zinc handler by naming its class and saying handlerClass new on every request. That leaves nobody a moment to configure the handler - the object is born inside execute and used in the same line. A metrics endpoint that has to be told which domains it exports, and under which prefix, has nowhere to be told.

Calls already answer themselves as route handlers, which is how AGPluggableCall is hung into a route with its block already set. HOPZincHandlerCall does the same for anything that answers handleRequest:, so the route can prepare it where it is built - which is where the deployment knows what it wants.

HOP-Extra had no test package; it has one now.

HOPZincHandlerAdaptor mounts a foreign Zinc handler by naming its class and
saying handlerClass new on every request. That leaves nobody a moment to
configure the handler - the object is born inside execute and used in the
same line. A metrics endpoint that has to be told which domains it exports,
and under which prefix, has nowhere to be told.

Calls already answer themselves as route handlers, which is how AGPluggableCall
is hung into a route with its block already set. HOPZincHandlerCall does the
same for anything that answers handleRequest:, so the route can prepare it
where it is built - which is where the deployment knows what it wants.

HOP-Extra had no test package; it has one now.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@noha
noha merged commit 7eff123 into main Oct 5, 2026
4 checks passed
@noha
noha deleted the a-call-can-carry-a-zinc-handler branch October 5, 2026 07:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant