trait NativeJsonSupport extends JsonSupport[Document] with NativeJsonOutput with JValueResult
- Alphabetic
- By Inheritance
- NativeJsonSupport
- JValueResult
- NativeJsonOutput
- JsonMethods
- JsonSupport
- JsonOutput
- JsonMethods
- ApiFormats
- ScalatraBase
- DefaultImplicitConversions
- LowPriorityImplicitConversions
- LowestPriorityImplicitConversions
- TypeConverterSupport
- ScalatraParamsImplicits
- Initializable
- DynamicScope
- RequestResponseScope
- CoreDsl
- Control
- Handler
- ScalatraContext
- CookieContext
- SessionSupport
- ServletApiImplicits
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
Config
extends AnyRef
- Definition Classes
- Initializable
-
sealed
class
TypedMultiParams
extends AnyRef
- Definition Classes
- ScalatraParamsImplicits
-
sealed
class
TypedParams
extends AnyRef
- Definition Classes
- ScalatraParamsImplicits
-
abstract
type
ConfigT
- Definition Classes
- Initializable
Abstract Value Members
-
abstract
def
requestPath(implicit request: HttpServletRequest): String
The effective path against which routes are matched.
The effective path against which routes are matched. The definition varies between servlets and filters.
- Definition Classes
- ScalatraBase
Concrete Value Members
-
def
acceptHeader(implicit request: HttpServletRequest): List[String]
The list of media types accepted by the current request.
The list of media types accepted by the current request. Parsed from the
Accept
header.- Definition Classes
- ApiFormats
-
def
after(transformers: RouteTransformer*)(fun: ⇒ Any): Unit
Adds a filter to run after the route.
Adds a filter to run after the route. The filter only runs if each routeMatcher returns Some. If the routeMatchers list is empty, the filter runs for all routes.
- Definition Classes
- ScalatraBase → CoreDsl
-
implicit
val
anyToBoolean: TypeConverter[Any, Boolean]
- Definition Classes
- LowPriorityImplicitConversions
-
implicit
val
anyToByte: TypeConverter[Any, Byte]
- Definition Classes
- LowPriorityImplicitConversions
-
implicit
val
anyToDouble: TypeConverter[Any, Double]
- Definition Classes
- LowPriorityImplicitConversions
-
implicit
val
anyToFloat: TypeConverter[Any, Float]
- Definition Classes
- LowPriorityImplicitConversions
-
implicit
val
anyToInt: TypeConverter[Any, Int]
- Definition Classes
- LowPriorityImplicitConversions
-
implicit
val
anyToLong: TypeConverter[Any, Long]
- Definition Classes
- LowPriorityImplicitConversions
-
implicit
val
anyToShort: TypeConverter[Any, Short]
- Definition Classes
- LowPriorityImplicitConversions
-
implicit
val
anyToString: TypeConverter[Any, String]
- Definition Classes
- LowPriorityImplicitConversions
-
def
before(transformers: RouteTransformer*)(fun: ⇒ Any): Unit
Adds a filter to run before the route.
Adds a filter to run before the route. The filter only runs if each routeMatcher returns Some. If the routeMatchers list is empty, the filter runs for all routes.
- Definition Classes
- ScalatraBase → CoreDsl
-
def
compact(d: Document): String
- Definition Classes
- JsonMethods → JsonMethods
-
val
config: ConfigT
The configuration, typically a ServletConfig or FilterConfig.
The configuration, typically a ServletConfig or FilterConfig.
- Definition Classes
- ScalatraBase
-
def
contentType: String
Gets the content type of the current response.
Gets the content type of the current response.
- Definition Classes
- ScalatraContext
-
def
contentType_=(contentType: String): Unit
Sets the content type of the current response.
Sets the content type of the current response.
- Definition Classes
- ScalatraContext
-
implicit
def
cookieOptions: CookieOptions
- Definition Classes
- CookieContext
-
def
cookies(implicit request: HttpServletRequest): SweetCookies
- Definition Classes
- CookieContext
-
def
defaultAcceptedFormats: List[Symbol]
A list of formats accepted by default.
A list of formats accepted by default.
- Definition Classes
- ApiFormats
-
def
defaultFormat: Symbol
The default format.
The default format.
- Definition Classes
- ApiFormats
-
implicit
def
defaultStringToSeq[T](implicit elementConverter: TypeConverter[String, T], mf: Manifest[T]): TypeConverter[String, Seq[T]]
- Definition Classes
- DefaultImplicitConversions
-
def
delete(transformers: RouteTransformer*)(action: ⇒ Any): Route
- Definition Classes
- ScalatraBase → CoreDsl
- See also
get
-
implicit
def
enrichRequest(request: HttpServletRequest): RichRequest
- Definition Classes
- ServletApiImplicits
-
implicit
def
enrichResponse(response: HttpServletResponse): RichResponse
- Definition Classes
- ServletApiImplicits
-
implicit
def
enrichServletContext(servletContext: ServletContext): RichServletContext
- Definition Classes
- ServletApiImplicits
-
implicit
def
enrichSession(session: HttpSession): RichSession
- Definition Classes
- ServletApiImplicits
-
def
environment: String
- Definition Classes
- ScalatraBase
-
def
error(handler: ErrorHandler): Unit
Defines an error handler for exceptions thrown in either the before block or a route action.
Defines an error handler for exceptions thrown in either the before block or a route action.
If the error handler does not match, the result falls through to the previously defined error handler. The default error handler simply rethrows the exception.
The error handler is run before the after filters, and the result is rendered like a standard response. It is the error handler's responsibility to set any appropriate status code.
- Definition Classes
- ScalatraBase → CoreDsl
-
def
format(implicit request: HttpServletRequest, response: HttpServletResponse): String
Returns the request-scoped format.
Returns the request-scoped format. If not explicitly set, the format is: $ - the
format
request parameter, if present informatParams
$ - the first match fromAccept
header, looked up inmimeTypes
$ - the format from theContent-Type
header, as looked up inmimeTypes
$ - the default format- Definition Classes
- ApiFormats
-
def
format_=(formatValue: String): Unit
Explicitly sets the request-scoped format.
Explicitly sets the request-scoped format. This takes precedence over whatever was inferred from the request.
- Definition Classes
- ScalatraContext
-
def
format_=(formatValue: Symbol): Unit
Explicitly sets the request-scoped format.
Explicitly sets the request-scoped format. This takes precedence over whatever was inferred from the request.
- Definition Classes
- ScalatraContext
-
val
formats: Map[String, String]
A map of suffixes to content types.
A map of suffixes to content types.
- Definition Classes
- ApiFormats
-
def
fullUrl(path: String, params: Iterable[(String, Any)] = Iterable.empty, includeContextPath: Boolean = true, includeServletPath: Boolean = true, withSessionId: Boolean = true)(implicit request: HttpServletRequest, response: HttpServletResponse): String
Builds a full URL from the given relative path.
Builds a full URL from the given relative path. Takes into account the port configuration, https, ...
- path
a relative path
- returns
the full URL
- Definition Classes
- ScalatraBase
-
def
get(transformers: RouteTransformer*)(action: ⇒ Any): Route
The Scalatra DSL core methods take a list of org.scalatra.RouteMatcher and a block as the action body.
The Scalatra DSL core methods take a list of org.scalatra.RouteMatcher and a block as the action body. The return value of the block is rendered through the pipeline and sent to the client as the response body.
See org.scalatra.ScalatraBase#renderResponseBody for the detailed behaviour and how to handle your response body more explicitly, and see how different return types are handled.
The block is executed in the context of a CoreDsl instance, so all the methods defined in this trait are also available inside the block.
get("/") { <form action="/echo"> <label>Enter your name</label> <input type="text" name="name"/> </form> } post("/echo") { "hello {params('name)}!" }
ScalatraKernel provides implicit transformation from boolean blocks, strings and regular expressions to org.scalatra.RouteMatcher, so you can write code naturally.
get("/", request.getRemoteHost == "127.0.0.1") { "Hello localhost!" }
- Definition Classes
- ScalatraBase → CoreDsl
-
def
halt(result: ActionResult): Nothing
- Definition Classes
- Control
-
def
halt[T](status: Integer = null, body: T = (), headers: Map[String, String] = Map.empty, reason: String = null)(implicit arg0: Manifest[T]): Nothing
Immediately halts processing of a request.
Immediately halts processing of a request. Can be called from either a before filter or a route.
- status
the status to set on the response, or null to leave the status unchanged.
- body
a result to render through the render pipeline as the body
- headers
headers to add to the response
- reason
the HTTP status reason to set, or null to leave unchanged.
- Definition Classes
- Control
-
def
handle(request: HttpServletRequest, response: HttpServletResponse): Unit
Handles a request and renders a response.
Handles a request and renders a response.
$ 1. If the request lacks a character encoding,
defaultCharacterEncoding
is set to the request.$ 2. Sets the response's character encoding to
defaultCharacterEncoding
.$ 3. Binds the current
request
,response
, andmultiParams
, and callsexecuteRoutes()
.- Definition Classes
- ScalatraBase → Handler
-
def
head(transformers: RouteTransformer*)(action: ⇒ Any): Route
- Definition Classes
- ScalatraBase → CoreDsl
- See also
head
-
def
initParameter(name: String): Option[String]
Gets an init paramter from the config.
Gets an init paramter from the config.
- name
the name of the key
- returns
an option containing the value of the parameter if defined, or
None
if the parameter is not set.
- Definition Classes
- ScalatraBase
-
def
initialize(config: ConfigT): Unit
Initializes the kernel.
Initializes the kernel. Used to provide context that is unavailable when the instance is constructed, for example the servlet lifecycle. Should set the
config
variable to the parameter.- config
the configuration.
- Definition Classes
- ScalatraBase → Initializable
-
def
isDevelopmentMode: Boolean
A boolean flag representing whether the kernel is in development mode.
A boolean flag representing whether the kernel is in development mode. The default is true if the
environment
begins with "dev", case-insensitive.- Definition Classes
- ScalatraBase
-
def
jsonpCallbackParameterNames: Iterable[String]
If a request is made with a parameter in jsonpCallbackParameterNames it will be assumed that it is a JSONP request and the json will be returned as the argument to a function with the name specified in the corresponding parameter.
If a request is made with a parameter in jsonpCallbackParameterNames it will be assumed that it is a JSONP request and the json will be returned as the argument to a function with the name specified in the corresponding parameter.
By default no parameterNames will be checked
- Definition Classes
- JsonOutput
-
implicit
def
lowestPriorityAny2T[T](implicit arg0: Manifest[T]): TypeConverter[Any, T]
- Definition Classes
- LowestPriorityImplicitConversions
-
def
methodNotAllowed(f: (Set[HttpMethod]) ⇒ Any): Unit
Defines a block to run if matching routes are found only for other methods.
Defines a block to run if matching routes are found only for other methods. The set of matching methods is passed to the block.
- Definition Classes
- ScalatraBase → CoreDsl
-
val
mimeTypes: Map[String, String]
A map of content types to suffixes.
A map of content types to suffixes. Not strictly a reverse of
formats
.- Definition Classes
- ApiFormats
-
def
multiParams(implicit request: HttpServletRequest): MultiParams
The current multiparams.
The current multiparams. Multiparams are a result of merging the standard request params (query string or post params) with the route parameters extracted from the route matchers of the current route. The default value for an unknown param is the empty sequence. Invalid outside
handle
.- Definition Classes
- ScalatraBase
-
def
multiParams(key: String)(implicit request: HttpServletRequest): Seq[String]
- Definition Classes
- ScalatraBase
-
def
notFound(fun: ⇒ Any): Unit
Defines a block to run if no matching routes are found, or if all matching routes pass.
Defines a block to run if no matching routes are found, or if all matching routes pass.
- Definition Classes
- ScalatraBase → CoreDsl
-
def
options(transformers: RouteTransformer*)(action: ⇒ Any): Route
- Definition Classes
- ScalatraBase → CoreDsl
- See also
get
-
def
params(implicit request: HttpServletRequest): Params
- Definition Classes
- ScalatraBase
-
def
params(key: Symbol)(implicit request: HttpServletRequest): String
- Definition Classes
- ScalatraBase
-
def
params(key: String)(implicit request: HttpServletRequest): String
- Definition Classes
- ScalatraBase
-
def
parse(in: JsonInput, useBigDecimalForDouble: Boolean, useBigIntForLong: Boolean): JValue
- Definition Classes
- JsonMethods → JsonMethods
-
def
parseOpt(in: JsonInput, useBigDecimalForDouble: Boolean, useBigIntForLong: Boolean): Option[JValue]
- Definition Classes
- JsonMethods → JsonMethods
-
def
parsedBody(implicit request: HttpServletRequest): JValue
- Definition Classes
- JsonSupport
-
def
pass(): Nothing
Immediately exits from the current route.
Immediately exits from the current route.
- Definition Classes
- Control
-
def
patch(transformers: RouteTransformer*)(action: ⇒ Any): Route
- Definition Classes
- ScalatraBase → CoreDsl
- See also
patch
-
def
post(transformers: RouteTransformer*)(action: ⇒ Any): Route
- Definition Classes
- ScalatraBase → CoreDsl
- See also
get
-
def
pretty(d: Document): String
- Definition Classes
- JsonMethods → JsonMethods
-
def
put(transformers: RouteTransformer*)(action: ⇒ Any): Route
- Definition Classes
- ScalatraBase → CoreDsl
- See also
get
-
def
redirect(uri: String)(implicit request: HttpServletRequest, response: HttpServletResponse): Nothing
Sends a redirect response and immediately halts the current action.
Sends a redirect response and immediately halts the current action.
- Definition Classes
- ScalatraBase
-
def
relativeUrl(path: String, params: Iterable[(String, Any)] = Iterable.empty, includeContextPath: Boolean = true, includeServletPath: Boolean = true)(implicit request: HttpServletRequest, response: HttpServletResponse): String
- Definition Classes
- ScalatraBase
-
def
render(value: JValue)(implicit formats: Formats): Document
- Definition Classes
- JsonMethods → JsonMethods
-
implicit
def
request: HttpServletRequest
The currently scoped request.
The currently scoped request. Valid only inside the
handle
method.- Definition Classes
- DynamicScope → RequestResponseScope
-
def
requestFormat(implicit request: HttpServletRequest): String
- Definition Classes
- ApiFormats
-
implicit
def
response: HttpServletResponse
The currently scoped response.
The currently scoped response. Valid only inside the
handle
method.- Definition Classes
- DynamicScope → RequestResponseScope
-
lazy val
routes: RouteRegistry
The routes registered in this kernel.
The routes registered in this kernel.
- Definition Classes
- ScalatraBase
-
implicit
def
safe[S, T](f: (S) ⇒ T): TypeConverter[S, T]
- Definition Classes
- TypeConverterSupport
-
implicit
def
safeOption[S, T](f: (S) ⇒ Option[T]): TypeConverter[S, T]
Implicit convert a
(String) => Option[T]
function into aTypeConverter[T]
Implicit convert a
(String) => Option[T]
function into aTypeConverter[T]
- Definition Classes
- TypeConverterSupport
-
def
secureXML: XMLLoader[Elem]
- Definition Classes
- JsonSupport
-
implicit
def
seqHead[T](implicit elementConverter: TypeConverter[String, T], mf: Manifest[T]): TypeConverter[Seq[String], T]
- Definition Classes
- DefaultImplicitConversions
-
implicit
def
seqToSeq[T](implicit elementConverter: TypeConverter[String, T], mf: Manifest[T]): TypeConverter[Seq[String], Seq[T]]
- Definition Classes
- DefaultImplicitConversions
-
def
serverHost(implicit request: HttpServletRequest): String
- Definition Classes
- ScalatraBase
-
def
serverPort(implicit request: HttpServletRequest): Int
- Definition Classes
- ScalatraBase
-
def
servletContext: ServletContext
The servlet context in which this kernel runs.
The servlet context in which this kernel runs.
- Definition Classes
- ScalatraBase → ScalatraContext
-
def
session(key: Symbol)(implicit request: HttpServletRequest): Any
- Definition Classes
- SessionSupport
-
def
session(key: String)(implicit request: HttpServletRequest): Any
- Definition Classes
- SessionSupport
-
implicit
def
session(implicit request: HttpServletRequest): HttpSession
The current session.
The current session. Creates a session if none exists.
- Definition Classes
- SessionSupport
-
def
sessionOption(implicit request: HttpServletRequest): Option[HttpSession]
The current session.
The current session. If none exists, None is returned.
- Definition Classes
- SessionSupport
-
def
status: Int
Gets the status code of the current response.
Gets the status code of the current response.
- Definition Classes
- ScalatraContext
-
def
status_=(code: Int): Unit
Sets the status code of the current response.
Sets the status code of the current response.
- Definition Classes
- ScalatraContext
-
implicit
val
stringToBoolean: TypeConverter[String, Boolean]
- Definition Classes
- DefaultImplicitConversions
-
implicit
val
stringToByte: TypeConverter[String, Byte]
- Definition Classes
- DefaultImplicitConversions
-
def
stringToDate(format: ⇒ String): TypeConverter[String, Date]
- Definition Classes
- DefaultImplicitConversions
-
def
stringToDateFormat(format: ⇒ DateFormat): TypeConverter[String, Date]
- Definition Classes
- DefaultImplicitConversions
-
implicit
val
stringToDouble: TypeConverter[String, Double]
- Definition Classes
- DefaultImplicitConversions
-
implicit
val
stringToFloat: TypeConverter[String, Float]
- Definition Classes
- DefaultImplicitConversions
-
implicit
val
stringToInt: TypeConverter[String, Int]
- Definition Classes
- DefaultImplicitConversions
-
implicit
val
stringToLong: TypeConverter[String, Long]
- Definition Classes
- DefaultImplicitConversions
-
implicit
val
stringToSelf: TypeConverter[String, String]
- Definition Classes
- DefaultImplicitConversions
-
def
stringToSeq[T](elementConverter: TypeConverter[String, T], separator: String = ",")(implicit arg0: Manifest[T]): TypeConverter[String, Seq[T]]
- Definition Classes
- DefaultImplicitConversions
-
implicit
val
stringToShort: TypeConverter[String, Short]
- Definition Classes
- DefaultImplicitConversions
-
implicit
def
toTypedMultiParams(params: MultiParams): TypedMultiParams
- Definition Classes
- ScalatraParamsImplicits
-
implicit
def
toTypedParams(params: Params): TypedParams
- Definition Classes
- ScalatraParamsImplicits
-
def
trap(codes: Range)(block: ⇒ Any): Unit
Error handler for HTTP response status code range.
Error handler for HTTP response status code range. You can intercept every response code previously specified with #status or even generic 404 error.
trap(403) { "You are not authorized" } }*
}}
- Definition Classes
- ScalatraBase → CoreDsl
-
def
trap(code: Int)(block: ⇒ Any): Unit
- Definition Classes
- CoreDsl
- See also
error
-
def
url(path: String, params: Iterable[(String, Any)] = Iterable.empty, includeContextPath: Boolean = true, includeServletPath: Boolean = true, absolutize: Boolean = true, withSessionId: Boolean = true)(implicit request: HttpServletRequest, response: HttpServletResponse): String
Returns a context-relative, session-aware URL for a path and specified parameters.
Returns a context-relative, session-aware URL for a path and specified parameters. Finally, the result is run through
response.encodeURL
for a session ID, if necessary.- path
the base path. If a path begins with '/', then the context path will be prepended to the result
- params
params, to be appended in the form of a query string
- returns
the path plus the query string, if any. The path is run through
response.encodeURL
to add any necessary session tracking parameters.
- Definition Classes
- ScalatraBase
Deprecated Value Members
-
def
applicationContext: ServletContext
- Definition Classes
- ScalatraBase
- Annotations
- @deprecated
- Deprecated
(Since version 2.1.0) Use servletContext instead
-
def
responseFormat(implicit request: HttpServletRequest, response: HttpServletResponse): String
- Definition Classes
- ApiFormats
- Annotations
- @deprecated
- Deprecated
(Since version 2.3)
format
now means the same asresponseFormat
,responseFormat
will be removed eventually
-
def
status(code: Int): Unit
- Definition Classes
- ScalatraContext
- Annotations
- @deprecated
- Deprecated
(Since version 2.1.0) Use status_=(Int) instead