import ratpack.exec.Promise | |
import ratpack.handling.Context | |
import ratpack.groovy.test.embed.GroovyEmbeddedApp | |
@GrabResolver(name = 'jcenter', root = 'http://jcenter.bintray.com/') | |
@GrabExclude('org.codehaus.groovy:groovy-all') | |
@Grab('org.slf4j:slf4j-simple:1.7.12') | |
@Grab('io.ratpack:ratpack-groovy:1.3.3') | |
@Grab('io.ratpack:ratpack-rx:1.3.3') | |
@Grab('io.ratpack:ratpack-groovy-test:1.3.3') | |
GroovyEmbeddedApp app = GroovyEmbeddedApp.of { | |
handlers { | |
all { Context context -> | |
println "A. Original compute thread: ${Thread.currentThread().name}" | |
Promise.async { downstream -> | |
println "B. Promise thread : ${Thread.currentThread().name}" | |
downstream.success("hello from async promise") | |
}.then { result -> | |
context.render result | |
} | |
println "C. Original compute thread: ${Thread.currentThread().name}" | |
} | |
} | |
}.test { | |
assert getText() == "hello from async promise" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment