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->'mail@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 <sven@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->'mail@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.sabine@gmail.com> wrote:
Hi ,
I want to write the following command in pharo:
"curl -v -X POST --data '{""email"":""mail@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":"mail@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.