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.

Reply via email to