Package ratpack.groovy.handling
Interface GroovyContext
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
byContent(Closure<?> closure)
Groovy friendly overload ofContext.byContent(Action)
.void
byMethod(Closure<?> closure)
Groovy friendly overload ofContext.byMethod(Action)
.static GroovyContext
from(Context ctx)
Creates a Groovy context from a context.GroovyContext
getContext()
Returns this.default GroovyContext
header(CharSequence name, Object... values)
Sets a response header.void
onClose(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:
getContext
in 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:
header
in interfaceContext
- Parameters:
name
- the name of the header to setvalues
- the header values- Returns:
this
- See Also:
MutableHeaders.set(CharSequence, Iterable)
-
-