public interface GroovyContext extends Context
Context
that adds Groovy friendly variants of methods.Modifier and Type | Method and Description |
---|---|
void |
byContent(Closure<?> closure)
Groovy friendly overload of
Context.byContent(ratpack.func.Action) . |
void |
byMethod(Closure<?> closure)
Groovy friendly overload of
Context.byMethod(ratpack.func.Action) . |
GroovyContext |
getContext()
Returns this.
|
void |
onClose(Closure<?> closure)
Adds a request close handler.
|
addInterceptor, blocking, byContent, byMethod, clientError, error, exec, file, getAllPathTokens, getController, getDirectChannelAccess, getExecution, getLaunchConfig, getPathTokens, getRequest, getResponse, insert, insert, lastModified, next, next, onClose, parse, parse, parse, parse, parse, promise, redirect, redirect, render, stream
current
GroovyContext getContext()
getContext
in interface Context
void byMethod(@DelegatesTo(value=ByMethodSpec.class,strategy=1) Closure<?> closure) throws Exception
Context.byMethod(ratpack.func.Action)
.
import ratpack.groovy.test.handling.GroovyRequestFixture import static ratpack.groovy.Groovy.groovyHandler def handler = groovyHandler { byMethod { def message = "hello!" get { render "$message from GET request" } post { render "$message from POST request" } } } def result = GroovyRequestFixture.handle(handler) { method "get" } assert result.rendered(CharSequence) == "hello! from GET request" result = GroovyRequestFixture.handle(handler) { method "post" } assert result.rendered(CharSequence) == "hello! from POST request"
closure
- defines the action to take for different HTTP methodsException
- any thrown by the closurevoid byContent(@DelegatesTo(value=ByContentSpec.class,strategy=1) Closure<?> closure) throws Exception
Context.byContent(ratpack.func.Action)
.
import ratpack.groovy.test.handling.GroovyRequestFixture import static ratpack.groovy.Groovy.groovyHandler def handler = groovyHandler { byContent { def message = "hello!" json { render "{\"msg\": \"$message\"}" } html { render "<p>$message</p>" } } } def result = GroovyRequestFixture.handle(handler) { header("Accept", "application/json"); } assert result.rendered(CharSequence) == "{\"msg\": \"hello!\"}" assert result.headers.get("content-type") == "application/json" result = GroovyRequestFixture.handle(handler) { header("Accept", "text/plain; q=1.0, text/html; q=0.8, application/json; q=0.7"); } assert result.rendered(CharSequence) == "<p>hello!</p>"; assert result.headers.get("content-type") == "text/html";
closure
- defines the action to take for the different content typesException
- any thrown by the closurevoid onClose(@DelegatesTo(value=RequestOutcome.class,strategy=1) Closure<?> closure)
closure
- A closure to call when the request is closed