With the following version:

===
Name: Zodiac-Core-SvenVanCaekenberghe.38
Author: SvenVanCaekenberghe
Time: 5 March 2015, 10:50:20.718425 pm
UUID: e3136feb-d3ad-4e3e-b844-464737f0b9ea
Ancestors: Zodiac-Core-TheIntegrator.37

Change the semantics of ZdcSimpleSocketStream>>#fillReadBuffer to simply return 
when ConnectionClosed is seen while waiting for data instead of letting the 
exception through 

Patch ZdcSecureSocketStream>>#fillBytes:startingAt:count: again by ignoring all 
exceptions from the SSL plugin
===

it now works:

ZnClient new
 https;
 host: 'user.gini.net';
 path: 'api/users';
 headerAt: 'Authorization' add: ('BEARER {1}' format: { #myToken });
 accept: ZnMimeType applicationJson;
 contentReader: [ :entity | NeoJSONReader fromString: entity contents ];
 contentWriter: [ :data | ZnEntity with: (NeoJSONWriter toString: data) type: 
ZnMimeType applicationJson];
 contents: { #email->'m...@gmail.com'. #password->'geheim' } asDictionary;
 post.

 => a Dictionary('error'->'invalid_token' 'error_description'->'Invalid access 
token: myToken' )

This is experimental. We'll see what the CI says. And if it behaves the same on 
all platforms.

Sven

> On 05 Mar 2015, at 19:42, Sven Van Caekenberghe <s...@stfx.eu> wrote:
> 
> Basically, this is how you should do it (after loading NeoJSON):
> 
> ZnClient new
>  https;
>  host: 'user.gini.net';
>  path: 'api/users';
>  headerAt: 'Authorization' add: ('BEARER {1}' format: { #myToken });
>  accept: ZnMimeType applicationJson;
>  contentReader: [ :entity | NeoJSONReader fromString: entity contents ];
>  contentWriter: [ :data | ZnEntity with: (NeoJSONWriter toString: data) type: 
> ZnMimeType applicationJson];
>  contents: { #email->'m...@gmail.com'. #password->'geheim' } asDictionary;
>  post. 
> 
> But I tried it and I got SSL errors, again.
> 
> This host/server is really weird (there is no Server header so I don't know 
> which one it is), but it says that it will close the connection, but it keeps 
> it open.
> 
> And again, this will probably work on Windows/Linux.
> 
> Sven
> 
>> On 05 Mar 2015, at 18:59, Sabine Manaa <manaa.sab...@gmail.com> wrote:
>> 
>> Hi ,
>> 
>> I want to write the following command in pharo:
>> 
>> "curl -v -X POST --data '{""email"":""m...@gmail.com"",
>> ""password"":""geheim""}' -H 'Content-Type: application/json' -H 'Accept:
>> application/json' -H 'Authorization: BEARER
>> d0ae3333-eaad-4335-a64b-8903470baa9f' 'https://user.gini.net/api/users'"
>> 
>> The following does not work, response is 
>> 415 Unsupported Media Type text/html;charset=UTF-8 2341B
>> And I assume that it is the "--data {}" part, which is wrong. 
>> 
>>      ^ZnClient new
>>              systemPolicy ;
>>              https;
>>              host: 'user.gini.net';
>>              path: 'api/users';
>>              headerAt: 'Content-Type' add: 'application/json';
>>              headerAt: 'Authorization' add: ('BEARER {1}' format: {self
>> getAccessToken});
>>              headerAt: 'Accept' add: 'application/json';
>>              contents:'--data {"email":"m...@gmail.com", 
>> "password":"geheim"} ';
>>              post. 
>> 
>> how can I put the --data  part into the request?
>> 
>> Regards
>> Sabine
>> 
>> 
>> 
>> --
>> View this message in context: 
>> http://forum.world.st/ZnClient-data-tp4809798.html
>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>> 
> 


Reply via email to