Hi,

I was playing with GitHub Gist API and I have queried the following Gist: 
https://gist.github.com/mbostock/5503544 
<https://gist.github.com/mbostock/5503544>
I was interested how the PNG image is returned: 
https://gist.github.com/mbostock/5503544#file-thumbnail-png 
<https://gist.github.com/mbostock/5503544#file-thumbnail-png> 

I can obtain the whole Gist executing:

STONJSON fromString: 
        (ZnClient new
                url: 'https://api.github.com/gists/5503544';
                accept: 'application/vnd.github.v3+json';
                get).

I can get PNG contents executing:

pngData := (ZnEasy get:
        ((((STONJSON fromString: 
                (ZnClient new
                        url: 'https://api.github.com/gists/5503544';
                        accept: 'application/vnd.github.v3+json';
                        get)) at: 'files') at: 'thumbnail.png') at: 'raw_url')) 
contents.
PNGReadWriter formFromStream: rawPng readStream.

But the PNG image is part of the Gist query and can be retrieved by:

pngContent := ((((STONJSON fromString: 
        (ZnClient new
                url: 'https://api.github.com/gists/5503544';
                accept: 'application/vnd.github.v3+json';
                get)) at: 'files') at: 'thumbnail.png') at: 'content').

"As pngContent is a WideString, I cannot use:"
PNGReadWriter formFromStream: pngContent readStream.

How can I read the PNG image from the pngContent? Any idea? 
And the reverse question: How can I send the PNG bytes using JSON format? 

Thanks!
Juraj

Reply via email to