On Wed, 2013-10-30 at 18:00 +0000, Jacob R Quant wrote: > It seems like the preferred way to manipulate the query string associated > with a URI when using org.apache.http.client.utils.URIBuilder is using the > rather than the setQuery and removeQuery methods. However, while the setQuery > method is deprecated the removeQuery method is not. Is this an oversight or > is there a specific reason for this? I would like to understand their > intended uses better. > > BTW, I posted a question about this at StackOverflow.com as well, but I am > not sure if members of this list monitor those or not. > http://stackoverflow.com/questions/19668899/what-is-the-difference-between-removequery-and-clearparameters-in-org-ap >
Jacob The reason for deprecation of the #setQuery method was its inconsistency of its contract with all other methods of the class. #setQuery expected input to be URL encoded whereas all other methods expect unescaped input. The choice was between changing the contract of the method and by doing so breaking pretty much every single application reliant on URIBuilder or method deprecation in favor of another method with slightly less intuitive name. So, one should be using [set|clear| add]Parameter[s] methods to work with query parameters and the #setCustomQueury method to set custom queries. Hope this helps Oleg --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
