skinny.micro.routing

RoutingDsl

trait RoutingDsl extends HaltPassControl with RouteRegistryAccessor with SkinnyMicroContextInitializer with UnstableAccessValidationConfig with ServletContextAccessor with ServletApiImplicits

The core SkinnyMicro DSL.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. RoutingDsl
  2. ServletContextAccessor
  3. RicherStringImplicits
  4. ServletApiImplicits
  5. Initializable
  6. UnstableAccessValidationConfig
  7. SkinnyMicroContextInitializer
  8. RouteRegistryAccessor
  9. HaltPassControl
  10. AnyRef
  11. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait Config extends AnyRef

    Definition Classes
    Initializable
  2. abstract type ConfigT <: AnyRef { ... /* 3 definitions in type refinement */ }

    Definition Classes
    ServletContextAccessorInitializable

Abstract Value Members

  1. abstract 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.

  2. abstract def methodNotAllowed(block: (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.

  3. abstract def notFound(block: ⇒ Any): Unit

    Defines a block to run if no matching routes are found, or if all matching routes pass.

  4. abstract def routeBasePath(implicit ctx: SkinnyContext): String

    The base path for URL generation

    The base path for URL generation

    Attributes
    protected

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

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

    Definition Classes
    Any
  6. def addRoute(method: HttpMethod, transformers: Seq[RouteTransformer], action: ⇒ Any): Route

    Prepends a new route for the given HTTP method.

    Prepends a new route for the given HTTP method.

    Can be overriden so that subtraits can use their own logic. Possible examples: $ - restricting protocols $ - namespace routes based on class name $ - raising errors on overlapping entries.

    This is the method invoked by get(), post() etc.

    Attributes
    protected
    See also

    skinny.micro.SkinnyMicroKernel#removeRoute

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. var config: ConfigT

    The configuration, typically a ServletConfig or FilterConfig.

    The configuration, typically a ServletConfig or FilterConfig.

    Definition Classes
    ServletContextAccessor
  10. implicit def configWrapper(config: ConfigT): Config { object initParameters }

    Attributes
    protected
    Definition Classes
    ServletContextAccessorInitializable
  11. def context: SkinnyContext

  12. def contextPath: String

    Definition Classes
    ServletContextAccessor
  13. def delete(transformers: RouteTransformer*)(action: ⇒ Any): Route

  14. implicit def enrichRequest(request: HttpServletRequest): RichRequest

    Definition Classes
    ServletApiImplicits
  15. implicit def enrichResponse(response: HttpServletResponse): RichResponse

    Definition Classes
    ServletApiImplicits
  16. implicit def enrichServletContext(servletContext: ServletContext): RichServletContext

    Definition Classes
    ServletApiImplicits
  17. implicit def enrichSession(session: HttpSession): RichHttpServletSession

    Definition Classes
    ServletApiImplicits
  18. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  20. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  21. def get(transformers: RouteTransformer*)(action: ⇒ Any): Route

    The SkinnyMicro DSL core methods take a list of skinny.micro.routing.RouteMatcher and a block as the action body.

    The SkinnyMicro DSL core methods take a list of skinny.micro.routing.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 SkinnyMicroBase#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)}!"
    }

    SkinnyMicroKernel provides implicit transformation from boolean blocks, strings and regular expressions to skinny.micro.RouteMatcher, so you can write code naturally.

    get("/", request.getRemoteHost == "127.0.0.1") { "Hello localhost!" }
  22. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  23. def halt(result: ActionResult): Nothing

    Definition Classes
    HaltPassControl
  24. 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
    HaltPassControl
  25. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  26. def head(transformers: RouteTransformer*)(action: ⇒ Any): Route

  27. def initParameter(name: String): Option[String]

    Gets an init parameter from the config.

    Gets an init parameter 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
    ServletContextAccessor
  28. 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
    ServletContextAccessorInitializable
  29. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  30. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  33. def options(transformers: RouteTransformer*)(action: ⇒ Any): Route

  34. def pass(): Nothing

    Immediately exits from the current route.

    Immediately exits from the current route.

    Definition Classes
    HaltPassControl
  35. def patch(transformers: RouteTransformer*)(action: ⇒ Any): Route

  36. def post(transformers: RouteTransformer*)(action: ⇒ Any): Route

  37. def put(transformers: RouteTransformer*)(action: ⇒ Any): Route

  38. def request(implicit ctx: SkinnyContext = context): HttpServletRequest

  39. def response(implicit ctx: SkinnyContext = context): HttpServletResponse

  40. val routes: RouteRegistry

    The routes registered in this kernel.

    The routes registered in this kernel.

    Attributes
    protected
    Definition Classes
    RouteRegistryAccessor
  41. def serverAuthority(implicit ctx: SkinnyContext): String

    Attributes
    protected
    Definition Classes
    ServletContextAccessor
  42. def serverHost(implicit ctx: SkinnyContext): String

    Definition Classes
    ServletContextAccessor
  43. def serverPort(implicit ctx: SkinnyContext): Int

    Definition Classes
    ServletContextAccessor
  44. implicit def servletContext: ServletContext

    The servlet context in which this kernel runs.

    The servlet context in which this kernel runs.

    Definition Classes
    ServletContextAccessor
  45. def shutdown(): Unit

    A hook to shutdown the class.

    A hook to shutdown the class. Bridges the gap between servlet's destroy and filter's destroy.

    Attributes
    protected
    Definition Classes
    Initializable
  46. def skinnyContext(implicit ctx: ServletContext): SkinnyContext

    Skinny Micro Context

    Skinny Micro Context

    Definition Classes
    SkinnyMicroContextInitializer
  47. implicit def stringToRicherString(s: String): RicherString

    Definition Classes
    RicherStringImplicits
  48. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  49. def toString(): String

    Definition Classes
    AnyRef → Any
  50. def trap(code: Int)(block: ⇒ Any): Unit

    See also

    trap

  51. 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"
      }
    }*

    }}

  52. def unstableAccessValidationEnabled: Boolean

    Enables unstable access validation.

    Enables unstable access validation.

    Attributes
    protected
    Definition Classes
    UnstableAccessValidationConfig
  53. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. def withRequest[A](request: HttpServletRequest)(f: ⇒ A): A

    Executes the block with the given request bound to the request method.

    Executes the block with the given request bound to the request method.

    Attributes
    protected
    Definition Classes
    SkinnyMicroContextInitializer
  57. def withRequestResponse[A](request: HttpServletRequest, response: HttpServletResponse)(f: ⇒ A): A

    Attributes
    protected
    Definition Classes
    SkinnyMicroContextInitializer
  58. def withResponse[A](response: HttpServletResponse)(f: ⇒ A): A

    Executes the block with the given response bound to the response method.

    Executes the block with the given response bound to the response method.

    Attributes
    protected
    Definition Classes
    SkinnyMicroContextInitializer

Inherited from ServletContextAccessor

Inherited from RicherStringImplicits

Inherited from ServletApiImplicits

Inherited from Initializable

Inherited from RouteRegistryAccessor

Inherited from HaltPassControl

Inherited from AnyRef

Inherited from Any

Ungrouped