Hi Alex, I've updated the gist at
https://gist.github.com/sarmbruster/8114445. Now you get back the results
in the get() of the FutureTask.


2013/12/24 Alex Frieden <[email protected]>

> Thanks Stefan.  I don't think I am understanding how this works.  Your
> gist seems to only return a java.util.concurrent.FutureTask.  Using get on
> them only returns a groovyx.net.http.HttpResponseDecorator.
>
>
> On Tue, Dec 24, 2013 at 10:02 AM, Stefan Armbruster <
> [email protected]> wrote:
>
>> Hi Alex,
>>
>> you need to pass in the cypher query in the request's body and not as
>> query param. See https://gist.github.com/sarmbruster/8114445 for a
>> working example.
>>
>> Cheers,
>> Stefan
>>
>>
>> 2013/12/23 Alex Frieden <[email protected]>
>>
>>> Hi all,
>>>
>>> Might be the wrong place to post this but I have been messing around
>>> with async http builders trying to get basic cypher queries to work.  It
>>> works with Http Builders but can't get it to work with the async version.
>>>
>>> @Grab(group='org.codehaus.groovy.modules.http-builder',
>>> module='http-builder', version='0.6' )
>>> @Grab(group='net.sf.json-lib', module='json-lib', version='2.4',
>>> classifier='jdk15' )
>>>
>>> import groovyx.net.http.*
>>> import static groovyx.net.http.ContentType.*
>>> import static groovyx.net.http.Method.*
>>>
>>> def query(statement, params,success, error) {
>>>    def http = new HTTPBuilder( 'http://localhost:7474' )
>>>    http.request( POST, JSON ) {
>>>      uri.path = '/db/data/cypher/'
>>>      headers.'X-Stream' = 'true'
>>>      requestContentType = JSON
>>>      body =  [ query : statement , params : params ?: [:] ]
>>>
>>>      // uri.query = [ param : 'value' ]
>>>
>>>      response.success = { resp, json ->
>>>        if (success) success(json)
>>>        else {
>>>         println "Status ${resp.statusLine} Columns
>>> ${json.columns}\nData: ${json.data}"
>>>        }
>>>      }
>>>
>>>      response.failure = { resp, message ->
>>>            def
>>> result=[status:resp.statusLine.statusCode,statusText:resp.statusLine.reasonPhrase]
>>>            result.headers = resp.headers.collect { h -> [ (h.name) :
>>> h.value ] }
>>>            result.message = message
>>>        if (error) {
>>>                  error(result)
>>>        } else {
>>>         println "Status: ${result.status} : ${result.statusText} "
>>>         println 'Headers: ${result.headers}'
>>>         println 'Message: ${result.message}'
>>>      }
>>>    }
>>>  }
>>> }
>>>
>>> query("MATCH n RETURN n;",[],{ println "Success: ${it}" },{ println
>>> "Error: ${it}" })
>>>
>>>
>>> However I have tried this with the AsyncHttpBuilder.  Couldn't get it to
>>> work.  Now I am trying a simple thing and have been unable to get it to
>>> give anytype of useful result.
>>>
>>>     @Test
>>>     public void testQueue()
>>>     {
>>>         def http = new AsyncHTTPBuilder( poolSize : 1 ,
>>>                 uri : 'http://localhost:7474/db/data/cypher' )
>>>         def responses = []
>>>         responses << http.post(query : [q:  "MATCH n RETURN n;"])
>>> {return it}
>>>
>>>
>>>         if (!responses.every{it.done})
>>>          {
>>>             println 'waiting...'
>>>             Thread.sleep(2000)
>>>         }
>>>         responses.each {
>>>             println(it)
>>>         }
>>>         http.shutdown()
>>>     }
>>>
>>> Any thoughts? Thanks!
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Neo4j" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Neo4j" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
>
> --
> Alexander Frieden
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to