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

valkyrjaio / sindri-php / 30322611383
100%

Build:
DEFAULT BRANCH: 26.x
Ran 28 Jul 2026 02:17AM UTC
Jobs 1
Files 79
Run time 1min
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

28 Jul 2026 02:15AM UTC coverage: 100.0%. Remained the same
30322611383

push

github

web-flow
[Http] Expand the any request method when generating routing data (#173)

# Description

A route declared for any request method — `#[Route(..., requestMethods:
[RequestMethod::ANY])]` —
worked when the application ran without cache but could **never be
matched when running from
the generated routing data**.

The framework's `RouteCollection::setRouteToRequestMethods()` expands
`RequestMethod::ANY`
into every concrete method (`RequestMethod::all()`) and deliberately
never stores a literal
`ANY` key, because an incoming request always carries a concrete method.
The generator did
not mirror that: `extractMethodNames()` simply turned
`RequestMethod::ANY` into the string
`"ANY"` and used it as the key for the `paths`, `dynamicPaths`, and
`regexes` maps. A cached
`ANY` route therefore sat under a key that no lookup ever consults, so
the route silently
404'd — while the same application routed it correctly with cache
disabled.

That divergence breaks the rule that the generated cache must mirror
runtime registration
exactly. The fix expands `ANY` in `extractMethodNames()`, which all
three map builders share,
so the generated maps now match `RouteCollection` exactly.

Found while adding one route per routing permutation to the example
application
(valkyrjaio/valkyrja-application), whose `sindri-phpunit` job asserts
the generated routing
table — the `ANY` permutation route was the case that exposed it.

Verified end to end: regenerating the example application with this fix
registers its
`ANY` route under GET, POST, PUT, HEAD, DELETE, CONNECT, OPTIONS, TRACE
and PATCH — identical
to what `RouteCollection` produces at runtime.

## Types of changes

- [ ] Improvement _(non-breaking change which improves code)_
- [x] Bug fix _(non-breaking change which fixes an issue)_
- [ ] New feature _(non-breaking change which adds functionality)_
- [ ] Deprecation _(breaking change which removes functionality)_
- [ ] Breaking change _(fix or feature that would cause existin... (continued)

5 of 5 new or added lines in 1 file covered. (100.0%)

1551 of 1551 relevant lines covered (100.0%)

17.47 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30322611383.1 28 Jul 2026 02:17AM UTC 79
100.0
GitHub Action Run
Source Files on build 30322611383
  • Tree
  • List 79
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30322611383
  • bec19672 on github
  • Prev Build on 26.x (#30282168451)
  • Next Build on 26.x (#30325258983)
  • Delete
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