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

dangernoodle-io / breadboard / 30775227377
97%

Build:
DEFAULT BRANCH: main
Ran 03 Aug 2026 12:47AM UTC
Jobs 1
Files 216
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

03 Aug 2026 12:45AM UTC coverage: 96.866% (+0.009%) from 96.857%
30775227377

push

github

web-flow
feat: add composition-time route exclusion primitive to bb_http_server (#1211)

Adds bb_http_route_exclude()/_verify()/_reset() to bb_http_server, gated
inside route_registry.c's registry_add() and bb_dispatch_api_add() for
descriptor-only routes and for the /api/ dispatch table. An excluded
route is a benign no-op (never stored), so it structurally cannot appear
in the OpenAPI spec walk and bb_dispatch_api_lookup() unconditionally
MISSes it. The two-phase declare/verify split guards against a typo'd
exclusion path that silently never matches anything.

This is the C-runtime half of the design; codegen excludes= marker wiring
is a separate follow-up PR.

Review fixes: reject an empty path (same class of error as NULL) instead
of blessing it as a no-op exact entry; extract the shared wildcard-detect
and /api/-only-scope idiom bb_http_route_exclude() and bb_http_prov_allow()
both hand-rolled into bb_route_match_is_wildcard()/
bb_route_match_wildcard_in_api_scope() (bb_http_prov_gate's own behavior
and tests are unchanged); document bb_http_route_exclude() as
composition-time-only and unsynchronized, matching its _reset() sibling.

HIGH fix: a handler-bound route reaches bb_http_register_route() (both
the espidf and host backends) BEFORE registry_add() ever runs, so a
non-/api/ exclusion previously returned BB_OK while suppressing nothing
-- a silent false success that bb_http_route_exclude_verify()'s own typo
guard could not catch. bb_http_route_exclude() now rejects every
non-/api/ path outright (exact match included, not just wildcards) with
BB_ERR_INVALID_ARG, since there is no choke point on that path this
primitive can hook. Sharpened the SCOPE LIMITS doc in bb_http_server.h to
state this plainly and corrected its false claim that registry_add()/
bb_dispatch_api_add() are the only choke points every route passes
through. Added a host-backend end-to-end test proving the exclusion call
now fails loudly instead of the old silent no-op, plus a comment ... (continued)

8252 of 8816 branches covered (93.6%)

Branch coverage included in aggregate %.

45 of 45 new or added lines in 4 files covered. (100.0%)

13968 of 14123 relevant lines covered (98.9%)

2612.48 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30775227377.1 03 Aug 2026 12:47AM UTC 216
96.87
GitHub Action Run
Source Files on build 30775227377
  • Tree
  • List 216
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30775227377
  • 9c3938b9 on github
  • Prev Build on main (#30774033303)
  • Next Build on main (#30778412858)
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