The feature or bug you are proposing
The + character is removed when parameters are parsed if the params are not URL encoded. E.g. using an "email" parameter with gbarbon+2@anemailprovider.org value (in a GET) returns an empty array, instead of returning the array with the corresponding user.
The description of the bug or the rationale of your proposal
More precisely, the + character is substituted by fastify when parsing the query params, since the + char in a query parameters correspond to the whitespace character (see here for further info).
The expected result for your bug
The plugin should encode the URL, in such a way to avoid loosing special characters when they reach fastify.
However, we're not 100% sure that the plugin should perform the encoding automatically. Please also note that this feature might be breaking if someone is inserting the + char in the query parameter in order to insert a whitespace on purpose.
The feature or bug you are proposing
The
+character is removed when parameters are parsed if the params are not URL encoded. E.g. using an "email" parameter withgbarbon+2@anemailprovider.orgvalue (in a GET) returns an empty array, instead of returning the array with the corresponding user.The description of the bug or the rationale of your proposal
More precisely, the
+character is substituted by fastify when parsing the query params, since the+char in a query parameters correspond to the whitespace character (see here for further info).The expected result for your bug
The plugin should encode the URL, in such a way to avoid loosing special characters when they reach fastify.
However, we're not 100% sure that the plugin should perform the encoding automatically. Please also note that this feature might be breaking if someone is inserting the
+char in the query parameter in order to insert a whitespace on purpose.