You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(originally written up as balena-io/pinejs#693, which was closed in favor of this)
RFC3986 section 2.2 Reserved Characters specifies that all of :/?#[]@*+,;= are reserved. The implementations of this in both the JavaScript encodeURIComponent and go's net/url package apply this pretty strictly. As such, this library should properly handle URI encoded forms of all OData expected characters - specifically, +/*,=;@:()'. Currently this library seems to only handle + and '. Note that ? and & can be ignored as they are only used in the URI query string parsing ?key=value&key=value and not expected in OData.
@shaunco A naive implementation approach shows that adding branches to the parser will increase the parser execution time by >= 10% and as of now, we cannot dedicate more resources on complete refactoring the odata-parser to
be in parity with OData and RFC3986
keep performance as it's the most loaded / executed module in pinejs stack.
Postponing the work for now, the issue remains valid.
(originally written up as balena-io/pinejs#693, which was closed in favor of this)
RFC3986 section 2.2 Reserved Characters specifies that all of
:/?#[]@*+,;=
are reserved. The implementations of this in both the JavaScript encodeURIComponent and go's net/url package apply this pretty strictly. As such, this library should properly handle URI encoded forms of all OData expected characters - specifically,+/*,=;@:()'
. Currently this library seems to only handle+
and'
. Note that?
and&
can be ignored as they are only used in the URI query string parsing?key=value&key=value
and not expected in OData.Additionally, RFC3986 section 2.1 Percent-Encoding says:
So this library also needs to support both the uppercase and lowercase percent encoded forms.
The text was updated successfully, but these errors were encountered: