Enhanced Normalization
Summary
Enhance URI normalization with additional RFC 3986 Section 6 features.
Current State
- Case normalization (scheme, host)
✅ - Dot segment removal
✅
Requirements
- Percent-encoding normalization (decode unreserved, uppercase hex)
- Default port removal (e.g., :80 for http, :443 for https)
- Empty path normalization for URIs with authority
- Path segment normalization
- Query parameter ordering (optional, configurable)
Acceptance Criteria
- normalize() handles all RFC 3986 Section 6.2 cases
- Tests for each normalization type
- Option to enable/disable specific normalizations
Files
-
src/uri.zig- normalize()