Package ratpack.groovy.handling
Interface GroovyContext
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voidbyContent(Closure<?> closure)Groovy friendly overload ofContext.byContent(Action).voidbyMethod(Closure<?> closure)Groovy friendly overload ofContext.byMethod(Action).static GroovyContextfrom(Context ctx)Creates a Groovy context from a context.GroovyContextgetContext()Returns this.default GroovyContextheader(CharSequence name, Object... values)Sets a response header.voidonClose(Closure<?> closure)Adds a request close handler.-
Methods inherited from interface ratpack.core.handling.Context
byContent, byMethod, clientError, error, file, getAllPathTokens, getDirectChannelAccess, getExecution, getFileSystemBinding, getPathBinding, getPathTokens, getRequest, getResponse, getServerConfig, header, insert, insert, lastModified, lastModified, next, next, notFound, onClose, parse, parse, parse, parse, parse, parse, redirect, redirect, render
-
-
-
-
Method Detail
-
from
static GroovyContext from(Context ctx)
Creates a Groovy context from a context.- Parameters:
ctx- the actual context- Returns:
- a Groovy context
-
getContext
GroovyContext getContext()
Returns this.- Specified by:
getContextin interfaceContext- Returns:
- this.
-
byMethod
void byMethod(@DelegatesTo(value=GroovyByMethodSpec.class,strategy=1) Closure<?> closure) throws Exception
Groovy friendly overload ofContext.byMethod(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"- Parameters:
closure- defines the action to take for different HTTP methods- Throws:
Exception- any thrown by the closure
-
byContent
void byContent(@DelegatesTo(value=GroovyByContentSpec.class,strategy=1) Closure<?> closure) throws Exception
Groovy friendly overload ofContext.byContent(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;charset=UTF-8";- Parameters:
closure- defines the action to take for the different content types- Throws:
Exception- any thrown by the closure
-
onClose
void onClose(@DelegatesTo(value=RequestOutcome.class,strategy=1) Closure<?> closure)
Adds a request close handler.- Parameters:
closure- A closure to call when the request is closed
-
header
default GroovyContext header(CharSequence name, Object... values)
Sets a response header.Any previously set values for the header will be removed.
Shorthand for
getResponse().getHeaders().set(CharSequence, Iterable).- Specified by:
headerin interfaceContext- Parameters:
name- the name of the header to setvalues- the header values- Returns:
this- See Also:
MutableHeaders.set(CharSequence, Iterable)
-
-