Paul, Well, it is against the spec IMHO: there should be no body with GET or HEAD. That is why the body is cleared in ZnClient>>#method: in those cases (ZnClient is meant to be reused for multiple requests). But by using a small detour it is possible: ZnClient new logToTranscript; url: 'http://zn.stfx.eu/echo'; method: #GET; contents: 'Foobar'; execute. If you inspect the reply to /echo you will notice that the server acknowledges receiving an entity. This should do the trick. HTH, Sven PS: You can use ZnClient>>#contentWriter: to convert from Smalltalk to JSON automagically... On 23 Apr 2013, at 21:02, Paul DeBruicker <pdebruic@gmail.com> wrote:
I don't know what should be but if you substitute -XPOST or just -POST for the -XGET then the search fails and you get no results. the -X just forces curl to use the HTTP method that follows.
It does seem to be contrary to the HTTP spec but I'm not sure of that either.
On 04/23/2013 11:52 AM, Camillo Bruni wrote:
I just had a quick peek, shouldn't that be all post requests?
get does not support a body, you have to pass everything as url parameters.
On 2013-04-23, at 20:41, Paul DeBruicker <pdebruic@gmail.com> wrote:
I'm making an elasticsearch client and they utilize JSON bodies in the GET requests to their server to search and do other things. An example of that is the second code block here:
http://www.elasticsearch.org/guide/reference/api/search/
Is there a way to include a body with a GET request using Zinc?
Making this:
ZnClient>>#get:contents: "Execute an HTTP GET request on url with the contents in a body and return the response #contents."
^ self url: url; contents: object; get
(unsurprisingly) doesn't work right away.
In elasticsearch it is possible to make a URI request for searching but it is a more limited interface than including the JSON body.
Thanks
Paul