xitrum

Action

trait Action extends RequestEnv with SessionEnv with Log with Net with Filter with BasicAuth with Redirect with Url with Renderer with Responder with I18n

When there's a request comes in, action extending Action will be run directly on the current Netty IO thread. This gives maximum speed when the action is simple and nonblocking.

See also FutureAction and ActorAction.

Linear Supertypes
Known Subclasses
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Action
  2. I18n
  3. Responder
  4. Flash
  5. Js
  6. Renderer
  7. GetActionClassDefaultsToCurrentAction
  8. Url
  9. Redirect
  10. BasicAuth
  11. Filter
  12. Net
  13. Log
  14. SessionEnv
  15. Csrf
  16. RequestEnv
  17. ParamAccess
  18. AnyRef
  19. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. sealed class DefaultsTo[A, B] extends AnyRef

    Definition Classes
    ParamAccess
  2. trait LowPriorityDefaultsTo extends AnyRef

    Definition Classes
    ParamAccess

Abstract Value Members

  1. abstract def execute(): Unit

    Called when the HTTP request comes in.

    Called when the HTTP request comes in. Actions have to implement this method.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. object DefaultsTo extends Action.LowPriorityDefaultsTo

    Definition Classes
    ParamAccess
  5. def absUrl[T <: Action](implicit arg0: Manifest[T]): String

    Definition Classes
    Url
  6. def absUrl[T <: Action](params: (String, Any)*)(implicit arg0: Manifest[T]): String

    Definition Classes
    Url
  7. def absUrl(params: (String, Any)*): String

    Definition Classes
    Url
  8. lazy val absUrl: String

    Definition Classes
    Url
  9. lazy val absUrlPrefix: String

    Definition Classes
    Url
  10. lazy val absUrlPrefixWithoutScheme: String

    Definition Classes
    Url
  11. def addConnectionClosedListener(listener: ⇒ Unit): Unit

  12. def afterFilter(f: ⇒ Any): Unit

    Definition Classes
    Filter
  13. lazy val antiCsrfInput: Elem

    Definition Classes
    Csrf
  14. lazy val antiCsrfMeta: Elem

    Definition Classes
    Csrf
  15. def antiCsrfToken: String

    Definition Classes
    Csrf
  16. def apply(handlerEnv: HandlerEnv): Unit

    Definition Classes
    RequestEnv
  17. def aroundFilter(f: (() ⇒ Any) ⇒ Any): Unit

    Definition Classes
    Filter
  18. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  19. lazy val at: At

    Definition Classes
    RequestEnv
  20. def atJson(key: String): String

    Definition Classes
    RequestEnv
  21. def autosetLanguage(resourceLanguages: String*): Unit

    If there's no suitable language, language is still the default "en".

    If there's no suitable language, language is still the default "en".

    Definition Classes
    I18n
  22. def basicAuth(realm: String)(authenticator: (String, String) ⇒ Boolean): Boolean

    authenticator

    takes username and password, returns true if it want to let the user in.

    Definition Classes
    BasicAuth
  23. def beforeFilter(f: ⇒ Boolean): Unit

    Definition Classes
    Filter
  24. lazy val bodyFileParams: FileUploadParams

    Definition Classes
    RequestEnv
  25. lazy val bodyTextParams: Params

    Definition Classes
    RequestEnv
  26. def browserLanguages: Array[String]

    returns

    List of languages sorted by priority from high to low

    Definition Classes
    I18n
  27. def callAfterFilters(): Unit

    Called by Dispatcher

    Called by Dispatcher

    Definition Classes
    Filter
  28. def callBeforeFilters(): Boolean

    Called by Dispatcher

    Called by Dispatcher

    Definition Classes
    Filter
  29. def callExecuteWrappedInAroundFilters(): Unit

    Called by Dispatcher

    Called by Dispatcher

    Definition Classes
    Filter
  30. lazy val channel: Channel

    Definition Classes
    RequestEnv
  31. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. def convertTextParam[T](value: String)(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[T]): T

    Applications may override this method to convert to more types.

    Applications may override this method to convert to more types.

    Definition Classes
    ParamAccess
  33. implicit val currentAction: Action

  34. def dispatchWithFailsafe(): Unit

  35. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  36. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  37. implicit val executionContext: ExecutionContextExecutor

  38. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  39. def flash(): String

    Returns the current content in flash, and clears the flash.

    Returns the current content in flash, and clears the flash.

    Definition Classes
    Flash
  40. def flash(msg: Any): Unit

    Definition Classes
    Flash
    See also

    jsFlash(msg).

  41. def forwardTo[T <: Action]()(implicit arg0: Manifest[T]): Unit

    Tells another action to process the current request for the current action.

    Tells another action to process the current request for the current action. See also redirectTo.

    Definition Classes
    Redirect
  42. var forwarding: Boolean

    Set to true by forwardTo.

    Set to true by forwardTo.

    Definition Classes
    Redirect
  43. def getActionClass[T <: Action](implicit arg0: Manifest[T]): Class[Action]

  44. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  45. var handlerEnv: HandlerEnv

    Definition Classes
    RequestEnv
  46. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  47. lazy val isAjax: Boolean

    Definition Classes
    Js
  48. def isDoneResponding: Boolean

    Definition Classes
    Responder
  49. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  50. lazy val isSsl: Boolean

    Definition Classes
    Net
  51. def js$(selector: String): String

    Definition Classes
    Js
  52. def js$id(id: String): String

    Definition Classes
    Js
  53. def js$name(name: String): String

    Definition Classes
    Js
  54. def jsAddToView(js: Any): Unit

    Definition Classes
    Js
  55. lazy val jsDefaults: Group

    Definition Classes
    Js
  56. def jsEscape(string: Any): String

    Do not use this to escape JSON, because they are different! For example JSON does not escape ' character, while JavaScript does.

    Do not use this to escape JSON, because they are different! For example JSON does not escape ' character, while JavaScript does. To escape JSON, use xitrum.util.SeriDeseri.toJson(Seq(string)).

    org.apache.commons.lang3.StringEscapeUtils is used internally.

    Definition Classes
    Js
  57. lazy val jsForView: Serializable

    Definition Classes
    Js
  58. def jsRedirectTo[T <: Action](params: (String, Any)*)(implicit arg0: Manifest[T]): ChannelFuture

    Definition Classes
    Js
  59. def jsRedirectTo(location: Any): ChannelFuture

    See http://stackoverflow.

    See http://stackoverflow.com/questions/503093/how-can-i-make-a-redirect-page-in-jquery

    Definition Classes
    Js
  60. def jsRenderFlash(): Unit

    Like jsRenderFlash(msg), but uses the current flash.

    Like jsRenderFlash(msg), but uses the current flash.

    Definition Classes
    Flash
  61. def jsRenderFlash(msg: Any): Unit

    For web 2.

    For web 2.0 style application. Used in application layout to display the flash message right after a view is loaded.

    Definition Classes
    Flash
  62. def jsRespond(fragments: Any*): ChannelFuture

    Definition Classes
    Js
  63. def jsRespondFlash(msg: Any): Unit

    For web 2.

    For web 2.0 style application. Used in Ajax request handling to respond a message and have the browser render it to the flash area right away.

    Definition Classes
    Flash
  64. var language: String

    Default language is "en".

    Default language is "en".

    Definition Classes
    I18n
  65. def layout: Any

    Definition Classes
    Renderer
  66. lazy val log: Logger

    Log name is inferred from name of the class extending this trait.

    Log name is inferred from name of the class extending this trait.

    Definition Classes
    Log
  67. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  68. final def notify(): Unit

    Definition Classes
    AnyRef
  69. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  70. def onDoneResponding(): Unit

    Called when the response or the last chunk (in case of chunked response) has been sent to the client.

    Called when the response or the last chunk (in case of chunked response) has been sent to the client.

    Definition Classes
    Responder
  71. def param[T](key: String, coll: Params = null)(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[T], d: DefaultsTo[T, String]): T

    Definition Classes
    ParamAccess
  72. def paramo[T](key: String, coll: Params = null)(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[T], d: DefaultsTo[T, String]): Option[T]

    Definition Classes
    ParamAccess
  73. def params[T](key: String, coll: Params = null)(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[T], d: DefaultsTo[T, String]): Seq[T]

    Definition Classes
    ParamAccess
  74. def paramso[T](key: String, coll: Params = null)(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[T], d: DefaultsTo[T, String]): Option[Seq[T]]

    Definition Classes
    ParamAccess
  75. lazy val pathParams: Params

    Definition Classes
    RequestEnv
  76. def publicUrl(path: String): String

    path

    Relative to the "public" directory, without leading "/"

    Definition Classes
    Url
  77. lazy val queryParams: Params

    Definition Classes
    RequestEnv
  78. def redirectTo[T <: Action](params: (String, Any)*)(implicit arg0: Manifest[T]): ChannelFuture

    See also forwardTo.

    See also forwardTo.

    Definition Classes
    Redirect
  79. def redirectTo(location: String, status: HttpResponseStatus = FOUND): ChannelFuture

    See also forwardTo.

    See also forwardTo.

    Definition Classes
    Redirect
  80. def redirectToThis(params: (String, Any)*): ChannelFuture

    Definition Classes
    Redirect
  81. lazy val remoteIp: String

    returns

    IP of the original remote HTTP client (not the proxy), X-Forwarded-For is supported

    Definition Classes
    Net
  82. def renderEventSource(data: Any, event: String = "message"): String

    Definition Classes
    Renderer
  83. def renderFragment[T <: Action](fragment: String)(implicit arg0: Manifest[T]): String

    Definition Classes
    Renderer
  84. def renderFragment[T <: Action](fragment: String, options: Map[String, Any])(implicit arg0: Manifest[T]): String

    Definition Classes
    Renderer
  85. def renderFragment(location: Class[_ <: Action], fragment: String, options: Map[String, Any]): String

    Definition Classes
    Renderer
  86. def renderInlineView(inlineView: Any): String

    Definition Classes
    Renderer
  87. def renderView[T <: Action]()(implicit arg0: Manifest[T]): String

    Definition Classes
    Renderer
  88. def renderView[T <: Action](options: Map[String, Any])(implicit arg0: Manifest[T]): String

    Definition Classes
    Renderer
  89. def renderView[T <: Action](customLayout: () ⇒ Any)(implicit arg0: Manifest[T]): String

    Definition Classes
    Renderer
  90. def renderView[T <: Action](customLayout: () ⇒ Any, options: Map[String, Any])(implicit arg0: Manifest[T]): String

    Definition Classes
    Renderer
  91. def renderView(customLayout: () ⇒ Any, location: Class[_ <: Action], options: Map[String, Any]): String

    Renders the template associated with an action to "renderedTemplate", then calls the layout function.

    Renders the template associated with an action to "renderedTemplate", then calls the layout function.

    options

    specific to the configured template engine

    Definition Classes
    Renderer
  92. def renderViewNoLayout[T <: Action]()(implicit arg0: Manifest[T]): String

    Definition Classes
    Renderer
  93. def renderViewNoLayout[T <: Action](options: Map[String, Any])(implicit arg0: Manifest[T]): String

    Definition Classes
    Renderer
  94. def renderViewNoLayout(location: Class[_ <: Action], options: Map[String, Any]): String

    Definition Classes
    Renderer
  95. var renderedView: Any

    Definition Classes
    Renderer
  96. lazy val request: FullHttpRequest

    Definition Classes
    RequestEnv
  97. def requestContentJson[T](implicit m: Manifest[T]): Option[T]

    Ex: val json = requestContentJson[Map[String, String]]

    Ex: val json = requestContentJson[Map[String, String]]

    Definition Classes
    RequestEnv
  98. lazy val requestContentString: String

    Definition Classes
    RequestEnv
  99. lazy val requestCookies: Map[String, String]

    Browsers will not send cookie attributes back to the server.

    Browsers will not send cookie attributes back to the server. They will only send the cookie (name-value pairs). http://en.wikipedia.org/wiki/HTTP_cookie#Cookie_attributes

    Definition Classes
    SessionEnv
  100. def resourceUrl(path: String): String

    path

    Relative to an entry in classpath, without leading "/"

    Definition Classes
    Url
  101. def respond(): ChannelFuture

    Definition Classes
    Responder
  102. def respondBinary(byteBuf: ByteBuf): ChannelFuture

    If Content-Type header is not set, it is set to "application/octet-stream".

    If Content-Type header is not set, it is set to "application/octet-stream".

    byteBuf

    Will be released

    Definition Classes
    Responder
  103. def respondBinary(bytes: Array[Byte]): ChannelFuture

    If Content-Type header is not set, it is set to "application/octet-stream".

    If Content-Type header is not set, it is set to "application/octet-stream".

    Definition Classes
    Responder
  104. def respondDefault404Page(): ChannelFuture

    Definition Classes
    Responder
  105. def respondDefault500Page(): ChannelFuture

    Definition Classes
    Responder
  106. def respondEventSource(data: Any, event: String = "message"): ChannelFuture

    To respond event source, call this method as many time as you want.

    To respond event source, call this method as many time as you want. Event Source response is a special kind of chunked response, data must be UTF-8. See: - http://sockjs.github.com/sockjs-protocol/sockjs-protocol-0.3.3.html#section-94 - http://dev.w3.org/html5/eventsource/

    No need to call setChunked() before calling this method.

    Definition Classes
    Responder
  107. def respondFile(path: String): ChannelFuture

    Sends a file using X-SendFile.

    Sends a file using X-SendFile. If Content-Type header is not set, it is guessed from the file name.

    path

    absolute or relative to the current working directory

    In some cases, the current working directory is not always the root directory of the project (https://github.com/xitrum-framework/xitrum/issues/47), you may need to use xitrum.Config.root to calculate the correct absolute path from a relative path.

    To sanitize the path, use xitrum.util.PathSanitizer.

    Definition Classes
    Responder
  108. def respondHtml(any: Any): ChannelFuture

    Content-Type header is set to "text/html".

    Content-Type header is set to "text/html".

    Definition Classes
    Responder
  109. def respondInlineView(inlineView: Any): ChannelFuture

    Content-Type header is set to "text/html".

    Content-Type header is set to "text/html".

    Definition Classes
    Responder
  110. def respondJs(any: Any): ChannelFuture

    Content-Type header is set to "application/javascript".

    Content-Type header is set to "application/javascript".

    Definition Classes
    Responder
  111. def respondJson(ref: AnyRef): ChannelFuture

    Converts the given Scala object to JSON object, and responds it.

    Converts the given Scala object to JSON object, and responds it. If you just want to respond a text with "application/json" as content type, use respondJsonText(text).

    Content-Type header is set to "application/json". "text/json" would make the browser download instead of displaying the content. It makes debugging a pain.

    Definition Classes
    Responder
  112. def respondJsonP(ref: AnyRef, function: String): ChannelFuture

    Converts the given Scala object to JSON object, wraps it with the given JavaScript function name, and responds.

    Converts the given Scala object to JSON object, wraps it with the given JavaScript function name, and responds. If you already have a JSON text, thus no conversion is needed, use respondJsonPText.

    Content-Type header is set to "application/javascript".

    Definition Classes
    Responder
  113. def respondJsonPText(text: Any, function: String): ChannelFuture

    Wraps the text with the given JavaScript function name, and responds.

    Wraps the text with the given JavaScript function name, and responds.

    Content-Type header is set to "application/javascript".

    Definition Classes
    Responder
  114. def respondJsonText(any: Any): ChannelFuture

    Content-Type header is set to "application/json".

    Content-Type header is set to "application/json".

    Definition Classes
    Responder
  115. def respondLastChunk(trailingHeaders: HttpHeaders = HttpHeaders.EMPTY_HEADERS): ChannelFuture

    See setChunked.

    See setChunked.

    Definition Classes
    Responder
  116. def respondResource(path: String): ChannelFuture

    Sends a file from public directory in one of the entry (may be a JAR file) in classpath.

    Sends a file from public directory in one of the entry (may be a JAR file) in classpath. If Content-Type header is not set, it is guessed from the file name.

    path

    Relative to an entry in classpath, without leading "/"

    Definition Classes
    Responder
  117. def respondText(text: Any, fallbackContentType: String = null, convertXmlToXhtml: Boolean = true): ChannelFuture

    fallbackContentType

    Only used if Content-Type header has not been set. If not given and Content-Type header is not set, it is set to "application/xml" if text param is Node or NodeSeq, otherwise it is set to "text/plain".

    convertXmlToXhtml


    .toString by default returns

    which is rendered as 2
    tags on some browsers! Set to false if you really want XML, not XHTML. See http://www.scala-lang.org/node/492 and http://www.ne.jp/asahi/hishidama/home/tech/scala/xml.html

    Definition Classes
    Responder
  118. def respondView[T <: Action]()(implicit arg0: Manifest[T]): ChannelFuture

    Definition Classes
    Responder
  119. def respondView[T <: Action](options: Map[String, Any])(implicit arg0: Manifest[T]): ChannelFuture

    Definition Classes
    Responder
  120. def respondView[T <: Action](customLayout: () ⇒ Any)(implicit arg0: Manifest[T]): ChannelFuture

    Definition Classes
    Responder
  121. def respondView[T <: Action](customLayout: () ⇒ Any, options: Map[String, Any])(implicit arg0: Manifest[T]): ChannelFuture

    Definition Classes
    Responder
  122. def respondView(customLayout: () ⇒ Any, location: Class[_ <: Action], options: Map[String, Any]): ChannelFuture

    options

    specific to the configured template engine

    Definition Classes
    Responder
  123. def respondViewNoLayout[T <: Action]()(implicit arg0: Manifest[T]): ChannelFuture

    Definition Classes
    Responder
  124. def respondViewNoLayout[T <: Action](options: Map[String, Any])(implicit arg0: Manifest[T]): ChannelFuture

    Definition Classes
    Responder
  125. def respondViewNoLayout(location: Class[_ <: Action], options: Map[String, Any]): ChannelFuture

    Content-Type header is set to "text/html".

    Content-Type header is set to "text/html".

    Definition Classes
    Responder
  126. def respondXml(any: Any): ChannelFuture

    Content-Type header is set to "application/xml".

    Content-Type header is set to "application/xml".

    Definition Classes
    Responder
  127. lazy val response: FullHttpResponse

    Definition Classes
    RequestEnv
  128. val responseCookies: ArrayBuffer[Cookie]

    Definition Classes
    SessionEnv
  129. lazy val scheme: String

    Definition Classes
    Net
  130. lazy val serverName: String

    Definition Classes
    Net
  131. lazy val serverPort: Int

    Definition Classes
    Net
  132. lazy val session: Session

    To reset session: session.

    To reset session: session.clear()

    Definition Classes
    SessionEnv
  133. def sessiono[T](key: String)(implicit d: DefaultsTo[T, String]): Option[T]

    Definition Classes
    SessionEnv
  134. def setChunked(): Unit

    To respond chunks (http://en.

    To respond chunks (http://en.wikipedia.org/wiki/Chunked_transfer_encoding): 1. Call setChunked() to mark that the response will be chunked 2. Call respondXXX as normal, but as many times as you want 3. Lastly, call respondLastChunk()

    If Content-Type header is not set, it is set to "application/octet-stream".

    Definition Classes
    Responder
  135. def setClientCacheAggressively(): Unit

    Definition Classes
    Responder
  136. def setCookieAndSessionIfTouchedOnRespond(): Unit

    Definition Classes
    SessionEnv
  137. def setNoClientCache(): Unit

    Definition Classes
    Responder
  138. def sockJsAbsUrl[T <: SockJsAction](implicit arg0: Manifest[T]): String

    Definition Classes
    Url
  139. def sockJsUrl[T <: SockJsAction](implicit arg0: Manifest[T]): String

    Definition Classes
    Url
  140. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  141. def t(singular: String): String

    Definition Classes
    I18n
  142. def tc(ctx: String, singular: String): String

    Definition Classes
    I18n
  143. def tcf(ctx: String, singular: String, args: Any*): String

    Definition Classes
    I18n
  144. def tcn(ctx: String, singular: String, plural: String, n: Long): String

    Definition Classes
    I18n
  145. def tcnf(ctx: String, singular: String, plural: String, n: Long, args: Any*): String

    Definition Classes
    I18n
  146. lazy val textParams: Params

    Definition Classes
    RequestEnv
  147. def tf(singular: String, args: Any*): String

    Definition Classes
    I18n
  148. implicit val timeout: FiniteDuration

  149. def tn(singular: String, plural: String, n: Long): String

    Definition Classes
    I18n
  150. def tnf(singular: String, plural: String, n: Long, args: Any*): String

    Definition Classes
    I18n
  151. def toString(): String

    Definition Classes
    AnyRef → Any
  152. def url[T <: Action](implicit arg0: Manifest[T]): String

    Definition Classes
    Url
  153. def url[T <: Action](params: (String, Any)*)(implicit arg0: Manifest[T]): String

    Definition Classes
    Url
  154. def url(params: (String, Any)*): String

    Definition Classes
    Url
  155. lazy val url: String

    Definition Classes
    Url
  156. lazy val urlParams: Params

    Definition Classes
    RequestEnv
  157. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  158. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  159. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  160. lazy val webSocketAbsRequestUrl: String

    Definition Classes
    Url
  161. def webSocketAbsUrl[T <: WebSocketAction](implicit arg0: Manifest[T]): String

    Definition Classes
    Url
  162. def webSocketAbsUrl[T <: WebSocketAction](params: (String, Any)*)(implicit arg0: Manifest[T]): String

    Definition Classes
    Url
  163. def webSocketAbsUrl(params: (String, Any)*): String

    Definition Classes
    Url
  164. lazy val webSocketAbsUrl: String

    Definition Classes
    Url
  165. lazy val webSocketAbsUrlPrefix: String

    Definition Classes
    Url
  166. lazy val webSocketScheme: String

    Definition Classes
    Net
  167. lazy val xitrumCss: Elem

    Definition Classes
    Flash

Inherited from I18n

Inherited from Responder

Inherited from Flash

Inherited from Js

Inherited from Renderer

Inherited from Url

Inherited from Redirect

Inherited from BasicAuth

Inherited from Filter

Inherited from Net

Inherited from Log

Inherited from SessionEnv

Inherited from Csrf

Inherited from RequestEnv

Inherited from ParamAccess

Inherited from AnyRef

Inherited from Any

Ungrouped