-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
Our URI parameter handling is extremely complex and involves a lot of branching and special cases for how parameters interact. The following issues are currently present:
- We store our parameters in an untyped bson_t object that requires that we do type checking at every API boundary.
- There is no API to "unset" a URI parameter.
- The word "options" is just wrong. Unfortunately this is part of the spec. Oh well.
- There is no way to detect whether a parameter argument is zero, an empty string, or is not defined for a URI. This is required for certain URI parameters that distinguish between zero, unset, and empty string.
- Adding new parameters becomes exponentially more complex as time goes on.