Phil Skentelbery
8fbdcb6e6f
feat: Complete Phase 2.4 - HTTP Content Negotiation
Implements HTTP content negotiation for feed format selection.
Phase 2.4 Deliverables:
- Content negotiation via Accept header parsing
- Quality factor support (q= parameter)
- 5 feed endpoints with format routing
- 406 Not Acceptable responses with helpful errors
- Comprehensive test coverage (63 tests)
Endpoints:
- /feed - Content negotiation based on Accept header
- /feed.rss - Explicit RSS 2.0
- /feed.atom - Explicit ATOM 1.0
- /feed.json - Explicit JSON Feed 1.1
- /feed.xml - Backward compatibility (→ RSS)
MIME Type Mapping:
- application/rss+xml → RSS 2.0
- application/atom+xml → ATOM 1.0
- application/feed+json or application/json → JSON Feed 1.1
- */* → RSS 2.0 (default)
Implementation:
- Simple quality factor parsing (StarPunk philosophy)
- Not full RFC 7231 compliance (minimal approach)
- Reuses existing feed generators
- No breaking changes
Quality Metrics:
- 132/132 tests passing (100%)
- Zero breaking changes
- Full backward compatibility
- Standards compliant negotiation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 20:46:49 -07:00
..
2025-11-25 13:43:56 -07:00
2025-11-27 20:46:49 -07:00
2025-11-18 23:01:53 -07:00
2025-11-18 23:01:53 -07:00
2025-11-18 23:01:53 -07:00
2025-11-18 23:01:53 -07:00
2025-11-25 21:24:47 -07:00
2025-11-25 21:24:47 -07:00
2025-11-25 21:24:47 -07:00
2025-11-25 13:28:56 -07:00
2025-11-24 10:17:50 -07:00
2025-11-24 11:54:04 -07:00
2025-11-24 13:11:14 -07:00
2025-11-24 13:11:14 -07:00
2025-11-24 11:39:13 -07:00
2025-11-18 19:21:31 -07:00
2025-11-18 19:21:31 -07:00
2025-11-18 19:21:31 -07:00
2025-11-18 19:21:31 -07:00
2025-11-18 19:21:31 -07:00
2025-11-18 19:21:31 -07:00
2025-11-24 11:54:04 -07:00
2025-11-18 20:35:36 -07:00
2025-11-18 23:01:53 -07:00
2025-11-18 23:01:53 -07:00
2025-11-18 23:01:53 -07:00
2025-11-24 10:17:50 -07:00
2025-11-24 10:17:50 -07:00
2025-11-24 10:17:50 -07:00
2025-11-18 19:21:31 -07:00
2025-11-24 11:39:13 -07:00