The ExtractAndDecodeQueryString method in QueryFns finds the first instance of an '&' in the query string and cuts off everything after that first instance, which I assume is to remove any additional parameters, such as 'anotherParameter' above. However, given the example above, it returns:
?{"where":{"CompanyName":{"contains":"Bob
QueryFilter blows up a few lines later when it passes this string to the EntityQuery constructor, which tries to deserialize the above as json.
Also, escaping the '&' doesn't really get us anywhere as there's no place where it is un-escaped.
There's an issue with QueryFilter when it tries to decode a query string with inner contents containing an ampersand (&), e.g.
?{"where":{"CompanyName":{"contains":"Bob&Larry's Garage"}}}?anotherParameter=1
The ExtractAndDecodeQueryString method in QueryFns finds the first instance of an '&' in the query string and cuts off everything after that first instance, which I assume is to remove any additional parameters, such as 'anotherParameter' above. However, given the example above, it returns:
?{"where":{"CompanyName":{"contains":"Bob
QueryFilter blows up a few lines later when it passes this string to the EntityQuery constructor, which tries to deserialize the above as json.
Also, escaping the '&' doesn't really get us anywhere as there's no place where it is un-escaped.