That's because the comma does not need to be escaped in the query part of the 
uri.

Norbert

> Am 10.06.2015 um 22:00 schrieb Jimmie Houchin <jlhouc...@gmail.com>:
> 
> On 06/10/2015 10:32 AM, Sven Van Caekenberghe wrote:
>>> On 10 Jun 2015, at 17:24, David <stormb...@gmail.com> wrote:
>>> 
>>> El Wed, 10 Jun 2015 10:14:37 -0500
>>> Jimmie Houchin <jlhouc...@gmail.com>
>>> escribió:
>>>> Hello,
>>>> 
>>>> I am attempting to use ZnClient to request data. The request requires
>>>> a %2C (comma) delimited string as part of the query. Below is a
>>>> snippet.
>>>> 
>>>> znClient
>>>>         addPath: '/v1/instruments';
>>>>         queryAt: 'fields' putAll: 'displayName%2Cinstrument%2Cpip';
>>>>         get ;
>>>>         contents)
>>>> 
>>>> The string  'displayName%2Cinstrument%2Cpip'
>>>> is being converted to  'displayName%252Cinstrument%252Cpip'
>>>> which causes the request to fail.
>>>> 
>>>> The query needs to be
>>>> fields=displayName%2Cinstrument%2Cpip
>>>> 
>>>> I have not found how to do this correctly.
>>>> Any help greatly appreciated.
>>>> 
>>>> Thanks.
>>>> 
>>>> Jimmie
>>>> 
>>>> 
>>> Maybe a silly thing, but since %2C = , ... Did you tried already to
>>> make itself encode that? Like
>>> znClient
>>>          addPath: '/v1/instruments';
>>>          queryAt: 'fields' putAll: 'displayName,instrument,pip';
>>>          get ;
>>>          contents)
>>> 
>>> I suspect it is using encoding internally, that is why % is also
>>> encoded if you try to put it.
>>> 
>>> I hope that works
>> Not silly and no need to suspect, but absolutely correct !
>> 
>> Sven
> 
> My apologies for not having full disclosure.
> 
> Pharo 4, new image, freshly installed Zinc stable version.
> Xubuntu 15.04
> 
> 
> 
> That is what I thought would happen and what I tried first. But it is not 
> being encoded from what I can find.
> 
> Inspect this in a workspace/playground.
> 
> ZnClient new
>        https;
>        host: 'google.com';
>        addPath: '/commaTest';
>        queryAt: 'fields' put: 'displayName,instrument,pip';
>        yourself
> 
> View the  request / requestLine / uri.  The commas are still present in the 
> URI.
> So I tried encoding myself and get the other error.
> 
> Of course Google won't understand this and in this snippet won't receive it.
> 
> And please let me know if I am doing something wrong.
> 
> Any help greatly appreciated.
> 
> Jimmie
> 
> 
> 


Reply via email to