ocaml-uri
ocaml-uri copied to clipboard
pct_encoder interface is confusing
There are a few things I found confusing about the interface for constructing pct_encoder
s:
-
val pct_encoder
takes a bunch of arguments whose names are the names of components and whose types are also components. I think it's clear enough whatpct_encoder ~query_key:(`Custom (...)) ()
means, but what would be meant bypct_encoder ~query_key:`Scheme
? Likewise, it's hard to understand what thecomponent
in`Custom (component, _, _)
means. -
In the
`Custom
case, it's not clear what happens when a char is marked both safe and unsafe, or when it is omitted from either set.
I have some hunches from skimming the implementation, but it would be nice to have the answers be more clear in the interface.