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_encoders:
-
val pct_encodertakes 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 thecomponentin`Custom (component, _, _)means. -
In the
`Customcase, 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.