This is nice!

Doru


> On Nov 7, 2018, at 5:36 PM, Sven Van Caekenberghe <s...@stfx.eu> wrote:
> 
> Hi,
> 
> I added a new convenience method to Zinc HTTP Components: 
> ZnClient>>forJsonREST. This configures a ZnClient (HTTP client) to talk to 
> standard JSON REST web services. Here are a couple of examples:
> 
> ZnClient new
>  forJsonREST;
>  get: 'https://jsonplaceholder.typicode.com/users'.
> 
> What #forJsonREST does is 3 things: set the 'Accept' header to 
> 'application/json', install a #contentReader that parses incoming JSON as 
> well as a #contentWriter that generates JSON.
> 
> ZnClient new
>  systemPolicy;
>  forJsonREST;
>  url: 'https://jsonplaceholder.typicode.com/posts';
>  contents: { #foo->1. #bar->2 } asDictionary;
>  post.
> 
> As you can see, the full ZnClient API can be combined when needed.
> 
> ZnClient new
>  forJsonREST;
>  post: 'https://jsonplaceholder.typicode.com/posts' 
>  contents: (NeoJSONObject new foo: 1; bar: 2; yourself).
> 
> #post:contents: combines separate #url: #contents: and #post message.
> 
> #forJsonREST uses NeoJSON[Object|Writer] if found, else STONJSON. If both are 
> missing, this results in an error.
>       
> ZnClient new
>  systemPolicy;
>  forJsonREST;
>  url: 'http://easy.t3-platform.net/rest/geo-ip';
>  queryAt: #address put: '81.83.7.35';
>  get.
> 
> Finally, here is a more sophisticated example, doing a DNS request over HTTPS:
> 
> ZnClient new
>  systemPolicy;
>  beOneShot;
>  forJsonREST;
>  accept: 'application/dns-json';
>  url: 'https://cloudflare-dns.com/dns-query';
>  queryAt: #name put: 'stfx.eu';
>  queryAt: #type put: #AAAA;
>  get.
> 
> Note that in most cases, you will configure one client to a specific endpoint 
> and keep on reusing it. At one point in time it might be good to #close the 
> client (although that happens on finalise as well). For single requests, you 
> can use #beOneShot.
> 
> All this can be found in #bleedingEdge (HEAD). There are unit tests as well.
> 
> Sven
> 
> 

--
www.feenk.com

"In a world where everything is moving ever faster,
one might have better chances to win by moving slower."






Reply via email to