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.