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()