Implement ParseOptions Handling

Summary

Implement the ParseOptions struct handling in parseWithOptions().

Currently the options parameter is ignored with a TODO comment.

Current State

pub fn parseWithOptions(input: []const u8, options: ParseOptions) ParseError!Uri {
    _ = options; // TODO: Implement option handling
    // ...
}

Requirements

  • Implement strict mode validation
  • Implement lenient mode (allow unencoded spaces, etc.)
  • Implement IRI mode flag (prep for RFC 3987)
  • Add validation for invalid characters based on mode
  • Add option for rejecting certain schemes

Acceptance Criteria

  • All existing tests still pass
  • New tests for each validation mode
  • Documentation updated

Files

  • src/uri.zig:287