Crafter.Network/interfaces
Repository files (latest commit first)
Filename Latest commit message Latest commit date
catbot 7a524cfdd0 feat(http): give ListenerHTTP the same fallback and query-strip routing
ListenerHTTP1's docs promise the same route map shape as ListenerHTTP so
a handler can be registered with both and served over either protocol.
That only holds if the dispatch rule is the same on both, so mirror it
here: exact `:path`, then the query-stripped path, then `fallback`, then
the synthetic 404.

The query-strip half is a behaviour change on this listener. `/thing?x=1`
previously 404'd even with `/thing` registered, while HTTP/1.1 routed it
— the asymmetry the shared route map was supposed to avoid. It also
matters for `fallback`: without it a query string would divert a
registered path to the fallback over HTTP/3 but not over HTTP/1.1.

`fallback` covers `routes` only. An unmatched WebTransport CONNECT is
still a 404 — a WT handler takes a session, not a request, so there is
nothing sensible to hand it.

MakeBidiHandler now reads the maps off `self` instead of taking them as
pointer parameters. `self` was already captured and unused, and this
mirrors how ListenerHTTP1 reaches its own state through Impl::owner.
2026-07-28 19:42:06 +00:00
..
Crafter.Network-ClientHTTP.cppm SPDX license 2026-07-22 17:55:45 +02:00
Crafter.Network-ClientHTTP1.cppm docs(http1): document the HTTP/1.1 stack, and expose the client's timeout 2026-07-27 01:02:37 +00:00
Crafter.Network-ClientQUIC.cppm SPDX license 2026-07-22 17:55:45 +02:00
Crafter.Network-ClientTCP.cppm SPDX license 2026-07-22 17:55:45 +02:00
Crafter.Network-HTTP.cppm feat(http1): dispatch unmatched paths to an optional fallback handler 2026-07-28 19:41:57 +00:00
Crafter.Network-HTTP1.cppm feat(http1): add an HTTP/1.1 client and listener 2026-07-27 00:45:09 +00:00
Crafter.Network-HTTP3.cppm SPDX license 2026-07-22 17:55:45 +02:00
Crafter.Network-ListenerHTTP.cppm feat(http): give ListenerHTTP the same fallback and query-strip routing 2026-07-28 19:42:06 +00:00
Crafter.Network-ListenerHTTP1.cppm feat(http1): dispatch unmatched paths to an optional fallback handler 2026-07-28 19:41:57 +00:00
Crafter.Network-ListenerQUIC.cppm SPDX license 2026-07-22 17:55:45 +02:00
Crafter.Network-ListenerTCP.cppm SPDX license 2026-07-22 17:55:45 +02:00
Crafter.Network-WebTransport.cppm SPDX license 2026-07-22 17:55:45 +02:00
Crafter.Network.cppm feat(http1): add an HTTP/1.1 client and listener 2026-07-27 00:45:09 +00:00