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.
