Forwarded-mode ingress now decides bot traffic by the device prefix (path mode), plus a maintainability refactor of the bot request handler.
Behavior (forwarded / path mode)
- No device prefix → treated as non-bot, skipped (falls through to REST routing).
- Device prefix but no matching route → still served (CDN only prefixes bot traffic), but uncached: all query params preserved, proxied to origin on a miss, never written to cache or scheduled. Logs a warning so the missing route can be added.
- Header mode unchanged (route match remains the gate).
Refactor / fixes
- Split HTTP-response building into
http_handlers/response.js; slimmedhandleBotRequest. - RFC 7232 conditional handling (weak etags, comma-lists,
*,If-None-Matchprecedence); defensive date/blob reads. - New
response.test.js+ extended ingress/device tests. 125 tests pass.
Consumer tarball: harperfast-prerender-0.6.0.tgz.