• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / valkyrja-ts / 30186185023 / 1
100%
26.x: 100%

Build:
DEFAULT BRANCH: 26.x
Ran 26 Jul 2026 03:27AM UTC
Files 302
Run time 5s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Jul 2026 03:27AM UTC coverage: 100.0%. Remained the same
30186185023.1

push

github

web-flow
[Http] Add HTTP serving provider stack and enable request dispatch (#82)

# Description

Builds out the HTTP serving dependency-injection provider stack so an
HTTP
application can actually boot and dispatch a request in TypeScript.
Until now the
CLI side had a complete provider stack (Interaction, Middleware,
Routing, Server)
but the HTTP side had none — nothing registered the `RequestHandler`,
the HTTP
router/dispatch, or the HTTP middleware handlers — so `Http.run()` could
never
resolve its request handler. The framework's own functional Http test
documented
request-running as a known gap ("TS has no attributes/Env, so
request-running is
a documented gap").

This ports the missing HTTP provider stack from the PHP framework
(adapted to the
subsystems that exist in the TS port today) and fixes two defects that
prevented
HTTP dispatch from working end to end:

- `Application\Kernel\Valkyrja::getProviders()` only expanded one level
of nested
component providers, so a component provider that composes other
component
providers (the normal application-provider structure) never registered
its
  children at runtime. Ported PHP's recursive `collectProviders`.
- `Http\Server\Handler\RequestHandler::dispatchRouter()` distinguished a
returned
request from a returned response with `'getPath' in x`, but a
`ServerRequest`
has no `getPath` — so every request was misclassified as a response and
returned
without ever being dispatched. It now checks `'getStatusCode'`, matching
PHP's
  `instanceof ResponseContract`.

A debug-mode application discovers its routes at runtime from the
registered HTTP
route providers, so the stack functions against an empty data cache (no
generated
routing data required).

Scope note — deliberately not ported because the corresponding
subsystems are not
in the TS port yet: attribute/reflection route collection (only explicit
`getRoutes()` routes are discovered), and the Log/View server middleware
(`LogThrowableCaught`, `ViewThrowableCaught`... (continued)

1580 of 1580 branches covered (100.0%)

Branch coverage included in aggregate %.

3457 of 3457 relevant lines covered (100.0%)

21.05 hits per line

Source Files on job 30186185023.1
  • Tree
  • List 302
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 30186185023
  • 73dd578f on github
  • Prev Job for on 26.x (#30175257698.1)
  • Next Job for on 26.x (#30186525883.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc